#windows-7 #windows-xp #unmanaged #managed #crash-dumps
#windows-7 #windows-xp #неуправляемый #управляемый #аварийные дампы
Вопрос:
Я искал вокруг SO, но не нашел окончательного ответа. Я хочу настроить автоматическую генерацию аварийного дампа на рабочем компьютере, чтобы при возникновении сбоя или зависания дамп сохранялся на диск без вмешательства пользователя.
Я хотел бы иметь единое решение, которое обрабатывало бы как управляемый, так и неуправляемый код в Windows XP (32bit) и Windows 7 (32bit) с минимальными дополнительными зависимостями.
Есть какие-нибудь советы?
Ответ №1:
Для неуправляемого кода вы могли бы обернуть каждый поток структурированным обработчиком исключений и вызвать GetExceptionInformation в выражении фильтра, чтобы получить указатель на EXCEPTION_POINTERS
структуру. Затем вызовите MiniDumpWriteDump и не забудьте заархивировать PDB-файлы из вашей сборки.
Если вы можете установить другие инструменты на рабочую машину, здесь есть сравнительная таблица.