У нас есть исключение из нашего приложения. Используя Dr.Watson, мы не записывали файлы dmp, а также файлы журнала. Мне сказали, что WinDbg является альтернативой созданию файлов дампа при исключении/сбое программы. После гуглинга я столкнулся с грудами замешательства. Прежде всего, я хотел бы подтвердить, возможно ли, создавать файлы дампа с помощью WinDbg. Во-вторых, есть ли какие-либо рекомендуемые простые командные строки для присоединения WinDbg к приложению для получения файлов дампа при его сбое? Большое спасибо!WinDbg для создания файла дампа при сбое?
ответ
Если вы можете перехватить сбой в обработчик исключений, то вы можете написать дамп с помощью кода: http://msdn.microsoft.com/en-us/library/windows/desktop/ms680360%28v=vs.85%29.aspx
В противном случае вам нужно поручить доктор Уотсон, чтобы перехватить и создать дамп для вас с определенными флагами, которые определяют уровень детализации отвалы проведет: http://blogs.technet.com/b/askperf/archive/2007/06/15/capturing-application-crash-dumps.aspx и http://social.technet.microsoft.com/wiki/contents/articles/8103.application-crash-dump-analysis-windows-7.aspx и msdn
чтобы сделать это из командной строки, вам нужно сделать что-то вроде:
cdb -pn myApp.exe -c ".symfix;.reload;.dump /ma c:\memdump\crash.dmp;qd"
Это предполагает, что cdb.exe путь поиска, вам может понадобиться префикс полного пути, как:
C:\Program Files (x86)\Debugging Tools for Windows (x86)\cdb -pn myApp.exe -c ".symfix;.reload;.dump /ma c:\memdump\crash.dmp;qd"
Так команды здесь
cdb -pn -->attaches cdb to your process name myApp.exe
-c -->execute command
.symfix -->fix microsoft symbols
.reload -->reload
.dump /ma c:\memdump\crash.dmp --> write minidump to location (the flags /ma is effectively everything you want)
qd -->quit and detach
Вам не нужно некоторые из этих команд могут удалить их, если они не нужны.
Большое вам спасибо. Это командная строка для захвата файлов дампа при сбое? – user1154138
Это команда, которая будет прикреплять и выполнять дамп памяти, но вам все равно нужно настроить обработчик в реестре, если вы проверите ссылки – EdChum
Choosing the Best Tool подтверждает, что WinDbg поможет вам создавать файлы дампа, но также предоставляет некоторые альтернативы, которые могут быть проще в использовании.
В этой ситуации мы обычно рекомендуем нашим пользователям скачать procdump (который только можно извлечь из архива, установка не требуется), а затем мы даем им пакетный файл, который содержит что-то вроде этого:
mkdir c:\dumps
procdump -e -c 10 -w myprocess.exe c:\dumps
Когда процесс генерирует необработанное исключение будет создать файл дампа в каталоге c:\dumps
, что вы можете загрузить в Visual Studio или Windbg (команда !analyze -v
ваш друг)
вы можете использовать Windbg .dump команду,
.dump /mfh /u C:\crash.dmp
Для сценариев аварии, два другие инструменты являются более подходящими,
- 1. WINDBG: отображение флагов захвата файла дампа
- 2. Создание загружаемого WinDbg дампа гостевой ОС QEmu
- 3. Как windbg определяет, какие символы OS загружаются для файла дампа
- 4. Windbg - Обнаружение символов, необходимых для дампа сбоя
- 5. Файл дампа Client.exe через WinDbg:
- 6. Анализ файла дампа сбоя
- 7. Почему бы не запустить внешний обработчик дампа при сбое приложения?
- 8. Чтение файлов дампа .NET 4.0 в WinDBG
- 9. Отладка дампа памяти devenv.exe в WinDbg
- 10. WinDbg анализ аварийного дампа, высокая загрузка процессора -
- 11. matlab падает без файла дампа при использовании fopen для файла
- 12. создание файла дампа для управляемого (.net) приложения с использованием windbg (или mscordmp)
- 13. Простейший метод создания файла дампа для проблемного процесса
- 14. Как создать объекты на основе памяти дампа в расширении WinDbg?
- 15. Использование C# для извлечения стека из файла дампа bluescreen
- 16. Оцените выражение при отладке файла дампа в WinDBG или Visual Studio
- 17. Ошибка создания дампа ядра Linux
- 18. Force Inno Setup для создания журнала даже при сбое установки
- 19. Как написать значение $ ip для файла в windbg командой windbg
- 20. Чтение большого файла дампа
- 21. Приложение Java для создания дампа базы данных
- 22. Использование ptrace для создания дампа стека
- 23. Как настроить Win2008 для создания аварийного дампа
- 24. Использование Windbg для анализа файла дампа: какой путь я должен установить в пути к файлу символа?
- 25. Формат файла дампа ядра
- 26. создания sqlite3 файлов дампа всей таблицы значений
- 27. ошибка при сбое при сбое iphone (прерывается)
- 28. Ошибки при экспорте файла дампа (Oracle)
- 29. postgresql миграция без создания дампа
- 30. WinDbg для отладки System.IO.IOException
FYI: наиболее вероятной причиной недостаточного файла дампа от Доктор Ватсон не включает кучу в составе свалки. Вы должны рассмотреть возможность включения этого для проблемных ошибок. – JaredPar
@ JaredPar Я не понимаю вашего предложения. Обычно в опциях Dr.Watson входят: «Таблица символов дампа», «Дамп всех контекстов потока» ... – user1154138
Я никогда не использовал административную сторону доктора Уотсона, я только что использовал результаты :). – JaredPar