Я пытаюсь создать файл дампа для моего приложения всякий раз, когда он сбой. В настоящее время я использую procdump.exe с флагом -e, чтобы сделать это, поэтому, если у меня есть необработанное исключение в моем приложении, procdump создает для меня файл дампа.Создайте файл дампа для приложения, когда он сбой
Я думал, что все закончилось, но потом выяснилось, что сбой приложения и procdump не создает файл дампа. После некоторых исследований я обнаружил, что недопустимое использование ошибки: :: front вызывает ошибку времени выполнения. Я включил флаг _SECURE_SCL_THROWS, и после этого procdump.exe -e поймал сбой и создал файл дампа.
Теперь на мой вопрос: теперь procdump.exe -e всегда будет создавать файл дампа при сбое приложения? Как я могу гарантировать, что у меня нет других сценариев, где procdump -e не подходит для меня?
Почему вы используете 'GetProcAddr' для' MiniDumpWriteDump', когда можете просто включите DbgHelp.h из SDK DebuggingTools ?? –
Поскольку IAT (таблица адресов импорта) может быть повреждена при возникновении сбоя. В таких обработчиках сбоев единственная надежная вещь - связать себя с библиотеками самостоятельно! –
@ ПетърПетров Но тогда как вы собираетесь называть 'LoadLibrary'? Если IAT поврежден, значит, вы, вероятно, уже ввернуты. – LHLaurini