Как настроить windows для создания дампа ядра из приложения?
Как настроить windows для создания дампа ядра из приложения?
Я использую Win xp, и приложение построено с помощью Visual Studio 2003.
6 ответов
Microsoft имеет бесплатный инструмент под названием Userdump.exe который сделает это.
довольно просто использовать этот инструмент для создания дампа (.DMP) файл для процесса, который завершает работу с исключением или для создания файла дампа для висящего процесса
просто, чтобы добавить некоторые другие предложения:
- ProcDump это часть MS Sysinternals suite (он захватывает сбои, но также делает нагрузку больше, может принимать дампы, если использование процессора всплески в течение некоторого времени и т. д.)
- вы можете поместить код в свой exe, используя MiniDumpWriteDump, чтобы сохранить дампы самостоятельно (что я сделал в нескольких инструментах). У вас есть контроль над именем и местоположением (т. е. сетевой путь). Есть пример кода здесь
можно использовать adplus для создания аварийного дампа для запущенного приложения. Команда может выглядеть примерно так:
C:\Program Files\Debugging Tools for Windows\adplus.vbs -hang -do -o c:\ -quiet -pn theprocess.exe
вы также можете подключиться к процессу с помощью windbg и запустить эту команду:
.dump /ma c:\somepath\filename.dmp
вы можете открыть Диспетчер задач (щелкнув правой кнопкой мыши панель задач), найти свой процесс на вкладке Процессы, щелкните его правой кнопкой мыши и выберите Создать Файл Дампа.
Я отсылаю вас к следующему MS KB article на эту тему. Обычно файл дампа отлаживается с помощью одного из инструментов отладки Windows, например WinDbg. Есть много статей в интернете, описывающих как это сделать.