При запуске приложения происходит сбой - как получить файл аварийного дампа? - PullRequest
1 голос
/ 15 января 2012

Мое приложение winform завершает работу сразу после запуска.Эта проблема возникает только на одном из клиентских компьютеров.Прекрасно работает для всех остальных клиентов.Я думал об использовании ADPlus для получения дампа сбоя, но проблема в том, чтобы настроить ADPlus в режиме сбоя, сначала необходимо подключить отладчик к запущенному приложению.Это означает, что приложение должно работать, когда я настраиваю ADPlus, однако, как я уже сказал, мое приложение вылетает, как только я его запускаю.Это не дает мне шанс запустить ADPlus.Есть идеи, можно ли использовать ADPlus в этом сценарии?Есть ли другие инструменты, которые я могу использовать для создания дампа процесса в этом случае?

Ответы [ 2 ]

2 голосов
/ 18 января 2012

Поскольку вы не можете запустить программу, а затем вовремя подключить отладчик, вы можете попробовать одну из следующих идей:

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

Если вы не можете запуститьотладчик, даже не ProcDump, вы можете использовать встроенную в Windows функцию аварийного дампа для автоматического создания дампа:

  • В Windows XP и Windows Server 2003 установите Dr. Watson в качествеотладчик после смерти, выполнив эту команду:

    drwtsn32 -i
    

    Вот информация о том, что эта команда делает и как использовать Dr. Watson: Захват аварийных дампов приложений

  • В Windows Vista с пакетом обновления 1 (SP1), Windows Server 2008 и более поздних версиях настройте отчеты об ошибках Windows для локального сохранения дампов, создав этот раздел реестра:

    HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps
    

    Вам не нужно создавать или устанавливать какие-либо значения или подразделы.под этим ключом.Если вы хотите изменить настройки, вот дополнительная информация: Сбор дампов в режиме пользователя

    Обратите внимание, что «приложения, создающие собственные отчеты о сбоях, включая приложения .NET, не поддерживаются"WER.Это проблема для вас, потому что ваше приложение использует WinForms - хотя есть некоторые признаки того, что эта функция работает с приложениями .NET 4 в Windows 7.

0 голосов
/ 18 января 2012

Вы можете использовать ProcDump от Sysinternals для захвата дампа.

...