crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Получить stack trace удаленно
ltise
  опции профиля:
сообщение 3.10.2014, 18:04
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 65
Регистрация: 17.4.2010
Пользователь №: 1636

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем привет!

Жуткая ситуация - программа периодически непредсказуемым образом падает у пользователя под Windows 8, воспроизвести под отладчиком не удается...
Подскажите плз каким образом можно получить stack trace "удаленно", скинуть его в лог и тп ?
Второй день гуглю.. куча разной инфы, но что-то с Qt ничего поженить не получается...
Использую 5.3.1 MinGW32.

Спасибо
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
lanz
  опции профиля:
сообщение 3.10.2014, 18:57
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 690
Регистрация: 28.12.2012
Пользователь №: 3660

Спасибо сказали: 113 раз(а)




Репутация:   8  


Попросите пользователя поставить CDB, запустить/приаттачить можно с помощью скрипта.
http://msdn.microsoft.com/en-us/library/wi...3(v=vs.85).aspx
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ltise
  опции профиля:
сообщение 3.10.2014, 19:25
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 65
Регистрация: 17.4.2010
Пользователь №: 1636

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(lanz @ 3.10.2014, 19:57) *
Попросите пользователя поставить CDB, запустить/приаттачить можно с помощью скрипта.
http://msdn.microsoft.com/en-us/library/wi...3(v=vs.85).aspx

Боюсь пользователь не поймет :)
Оптимальный вариантом был бы стек в окошке - принтскрином вроде пользоваться умеют
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
lanz
  опции профиля:
сообщение 3.10.2014, 23:24
Сообщение #4


Старейший участник
****

Группа: Участник
Сообщений: 690
Регистрация: 28.12.2012
Пользователь №: 3660

Спасибо сказали: 113 раз(а)




Репутация:   8  


Можно попробовать поймать сигнал:
http://msdn.microsoft.com/en-us/library/xdkz3x12.aspx

А вобще, пользователю не обязательно самому что то делать, можно написать скрипт для cdb, который запустит процесс, а потом распечататает трейс.

Или внедрить что то вроде этого в код:
http://www.codeproject.com/Articles/11132/...g-the-callstack
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 7.10.2014, 21:20
Сообщение #5


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


заюзай Google Breakpad. хорошая штука. её использует Мозилла и многие другие крупные компании. мы её на работе тоже пользуем на серверах.

кроме того, под вендой есть ещё отладка через дамп. не знаю, как в Win8, а в 7-ке была у них фича - сохранение дампа, из системного монитора, по правой кнопке на процессе, когда он уже выдал сообщение о падении, но ещё не был убит системой. дамп сохраняется в какую-то задницу, так что лучше сразу в сообщении после сохранения прочитать, куда система его сохранила, и записать этот путь. потом дамп можно загрузить в студию и с ним работать.

Сообщение отредактировал Iron Bug - 7.10.2014, 21:26
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 2.12.2024, 5:03