Как гарантировать, что файл дампа написан приложением C ++ в случае необработанного исключения - PullRequest
1 голос
/ 03 сентября 2011

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

Например, если деление на ноль не обрабатывается, то как сделать так, чтобы записывался Dump.

Также было бы здорово иметь учебник по windbg, который я пытался найти, но НЕ нашел хорошего.

1 Ответ

3 голосов
/ 04 сентября 2011

Я предполагаю, что вы ищете внешний способ создания этих дампов (в конце концов, вы спрашиваете об исключениях, которые не обрабатываются ).

В Vistaи выше, механизм, который вы ищете, называется Windows Error Reporting - WER.Вы можете настроить его для создания дампов при сбое и размещения их в определенном месте.До Vista вы могли сделать это, используя drwtsn32.exe .Вы также можете запустить свою программу, используя ADPlus , которая создаст дамп сразу после сбоя процесса, без необходимости какой-либо общесистемной конфигурации.

Если вы хотите создатьдамп из самой программы, вы можете использовать MiniDumpWriteDump , но это менее желательно.В неясном состоянии лучше позволить другому процессу сделать ваш снимок.

Что касается WinDbg, то в Интернете действительно имеется масса информации.Я думаю, вы можете начать здесь , но вы должны задавать конкретные вопросы, если у вас есть конкретные проблемы.

...