Как создать мини-дамп для моего процесса, когда он отказывает?

Если у Вас есть доступ к netstat, который может сделать точно это.

31
задан Hasturkun 19 September 2011 в 12:02
поделиться

4 ответа

Вам необходимо программно создать минидамп (за одним исключением, см. Следующую ссылку). В CodeProject есть хорошая статья о MiniDumps . По сути, вы хотите использовать dbghelp.dll и использовать функцию MiniDumpWriteDump () (см. MSDN на MiniDumpWriteDump ).

Насколько эффективны такие дампы очень сильно зависит от приложения. Иногда для оптимизированных двоичных файлов они практически бесполезны. Кроме того, без опыта ошибки, связанные с повреждением кучи / стека, могут сбить вас с пути.

Однако, если оптимизатор не слишком усердствовал в вас, существует большой класс ошибок, при которых дампы помогают , а именно все ошибки, при которых полезно иметь трассировку стека + значения локально используемых переменных, то есть много вещей, вызывающих чисто виртуальные функции (т.е. неправильный порядок уничтожения),

28
ответ дан 27 November 2019 в 22:24
поделиться

Спасибо всем за просмотр и ответ. Особая благодарность gimpf, я искал в Интернете и msdn.

Я нашел отличную статью на debugInfo.com Это того стоит читать:

эффективные минидампы

15
ответ дан 27 November 2019 в 22:24
поделиться

Если у вас есть лишние деньги, то AQtrace стоит взглянуть. Это имеет много преимуществ, связанных с тем, что сбой происходит внутри отладчика при работе на удаленном компьютере конечного пользователя.

1
ответ дан 27 November 2019 в 22:24
поделиться

Мы используем Google Breakpad в Firefox, хотя для этого требуется как минимум Visual C ++ 2003. Хорошим дополнительным преимуществом является то, что он также поддерживает OS X и Linux.

4
ответ дан 27 November 2019 в 22:24
поделиться
Другие вопросы по тегам:

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