2016-06-19 27 views
0

Ich muss vollständige Speicher- und Kernel-Speicherabbilder mit einem Kernel-Modus-Treiber in Windows erstellen.Erstellen eines Windows-Kernel-Dumps mit C (Kernel-Modus-Treiber)

Genau wie was .dump Befehl mit WinDBG tun, aber ich muss es in meinem Code tun.

Irgendwelche Ideen, wie man das macht?

+1

[MiniDumpWriteDump] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms680360.aspx). Muss unbedingt außerhalb des Kontexts aufgerufen werden, es sei denn, Sie können Ihren Prozess blockieren. – IInspectable

+1

@Intspectable: Ich glaube, dass ein User-Mode-Dump (d. H. Single-Process-Dump) statt eines Kernel-Speicherauszugs erzeugt wird? –

+0

@HarryJohnston: Richtig, ich habe verpasst, dass das OP nach einem Kernel Dump gefragt hat. 'MiniDumpWriteDump' ist in der Tat eine Benutzermodus-API, die keinen Kernel-Speicher, Threads, Module oder Kernel-Stack-Traces speichert. – IInspectable

Antwort

1

Ich denke, es gibt keinen guten Weg, das zu tun. Sie könnten einfach einen BSOD über KeBugCheck() auf einem ordnungsgemäß konfigurierten System generieren. Es basiert auf einer undokumentierten IoWriteCrashDump() Methode, die Sie möglicherweise auch untersuchen möchten.