2016-06-19 13 views
0

Мне нужно создать полную память и дампы памяти ядра, используя драйвер режима ядра в окнах.Создание дампа ядра Windows с использованием C (драйвер режима ядра)

Как и то, что .dump команда делает с использованием WinDBG, но мне нужно сделать это в моем коде.

Любые идеи, как это сделать?

+1

[MiniDumpWriteDump] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms680360.aspx). Абсолютно необходимо вызывать из контекста, если только вы не прекратите тупик вашего процесса. – IInspectable

+1

@IInpectable: Я считаю, что создает дамп пользовательского режима (то есть, единственный процесс), а не дамп памяти ядра? –

+0

@HarryJohnston: Правда, я пропустил, что OP просил дамп ядра. 'MiniDumpWriteDump' - это действительно пользовательский интерфейс API, который не будет выгружать память ядра, потоки, модули или трассировки стека ядра. – IInspectable

ответ

1

Я думаю, что нет хорошего способа сделать это. Вы можете просто создать BSOD через KeBugCheck() в правильно настроенной системе. Он полагается на недокументированный метод IoWriteCrashDump(), который вы также можете исследовать.