Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Получить stack trace удаленно
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
ltise
Всем привет!

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

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

Боюсь пользователь не поймет :)
Оптимальный вариантом был бы стек в окошке - принтскрином вроде пользоваться умеют
lanz
Можно попробовать поймать сигнал:
http://msdn.microsoft.com/en-us/library/xdkz3x12.aspx

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

Или внедрить что то вроде этого в код:
http://www.codeproject.com/Articles/11132/...g-the-callstack
Iron Bug
заюзай Google Breakpad. хорошая штука. её использует Мозилла и многие другие крупные компании. мы её на работе тоже пользуем на серверах.

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