@roman_123456

Как анализировать crash dumpы программы для Windows?

Программа на C++ Qt Windows. Бывает, программа падает. Как организовать анализ причин? Читал, что в Visual Studio можно просматривать дампы, как в отладочном режиме, смотреть значения переменных на момент падения. Как организовать, что подключить в проект?
  • Вопрос задан
  • 188 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ставишь Студию с ворклоадом C++ Desktop, берёшь дамп, открываешь в Студии. Если есть файлы символов - настраиваешь пути к ним, чтобы они подтянулись при просмотра дампа.

Чтобы символа были - нужно и релизные билды (т.е. те, которые отдаются пользователям) тоже собирать с отладочной информацией (к слову, в терминологии CMake такой тип сборки называют RelWithDebInfo) и складывать её на долговременное хранение (пока поддерживается конкретная релизая версия), см. технологии Symbol Server и SSQP.

Чтобы было вообще круто, желательно ещё настроить автоматическое подтягивание исходников. Раньше это делалось кастомными CMD-командами, вшитыми прямо в PDB, теперь есть технология Source Link, которая с недавнего времени поддерживается и C++ным тулчейном, теперь лучше использовать её.

А, ну и конечно же дампы нужно собирать и отправлять на сервер (если конечно стоит такая задача). В этом вам поможет либо dbghelp, либо более комплексные решения вроде CrashFix и CrashRpt.

Это если в крупном масштабе и только про Windows + Visual Studio (ну т.е. это всё в основном Microsoft-specific). Задавайте вопросы, я расскажу детальнее если что-то непонятно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы