Как я могу отладить сбой приложения в Win7 после того, как это произошло? - PullRequest
1 голос
/ 23 мая 2010

У меня есть приложение Visual Basic 6, которое я недавно изменил на использование пары библиотек C ++, написанных в Visual Studio 2008. Приложение отлично работает на моем ПК, но когда мы устанавливаем его на одном из наших тестов При сбое ПК происходит сбой - мы видим сообщение Win 7 «Ваше приложение не удалось» или что-то в этом роде.

Я знаю, что в Win 7 хранятся данные, которые можно использовать для анализа сбоя. У меня есть исходный код и файлы .PDB из сборки, поэтому я должен иметь возможность использовать это, но я не могу понять, где Win 7 хранит данные после сбоя. Средство просмотра событий показывает сбой, но не содержит никаких данных, а каталог C: \ Windows \ Minidump не существует.

Куда попадают аварийные файлы?

Ответы [ 4 ]

3 голосов
/ 12 марта 2018

У Microsoft есть документация, которая работает с Vista Service Pack 1: https://msdn.microsoft.com/en-us/library/windows/desktop/bb787181(v=vs.85).aspx

Существует раздел реестра с 4 подзначениями, которые управляют общими сбоями:

# HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps

DumpType   # 1 = mini-dump, 2 = full dump, 0 = custom dump
DumpCount  # Maximum number of dump files to keep before purging
DumpFolder # Full path to folder to store dump files (no trailing slash)
DumpFlags  # Usually 0, flags only used if DumpType is 0

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

Примечание: Подключи реестра с исполняемым именем могут использоваться для управления поведением сбоя только для одного указанного процесса.

0 голосов
/ 23 мая 2010
  • Получить мини-дамп для аварии
  • Получить WDK, Использование средств отладки для Windows

  • Использовать Windbg для открытия аварииdump

  • использовать команду! analysis

    Расширение! analysis отображает информацию о текущем исключении или проверке ошибок.

  • ЧтениеПодробнее об отладке окон

Создание дампа:

Вы можете настроить windbg как инструмент отладки по умолчанию, дав команду «windbg -I» во время работы.

Также доктор Ватсон может сделать это за вас.

0 голосов
/ 31 мая 2010

Вы даже можете использовать механизм создания отчетов и получить локально сохраненный файл дампа, а затем отладить его с помощью Visual Studio. В Visual C ++ есть много свободно доступных ресурсов, но не так много в VB.

0 голосов
/ 23 мая 2010

Почему бы вам не заставить свою программу сохранять мини-дамп там, где вы хотите, когда происходит сбой? Я не знаком с VB, но попробую использовать SetUnhandledExceptionFilter () и MiniDumpWriteDump ().

...