2012-11-22 15 views
7

Sto eseguendo il debug di un driver di periferica in modalità kernel per Windows, utilizzando WinDbg. È possibile creare un minidump su richiesta?Come creare un dump del kernel utilizzando WinDbg

Voglio dire, uno dei miei punti di interruzione viene colpito, il sistema viene fermato. Voglio creare un minidump (diciamo solo lo stack). C'è una parola chiave WinDbg per questo?

Grazie in anticipo

risposta

9

È possibile scrivere un minidump in questo modo quando si colpisce il punto di interruzione:

bp myDLL!myFunc ".dump /ma c:\myDump.dmp;g" 

Questo aggiungerà un punto di interruzione per la funzione ed eseguire i comandi le virgolette, questa volontà scrivi un minidump con la maggior parte delle bandiere e poi continua.

Vedere here per ulteriori informazioni su .dump e here sulla sintassi bp.

per eseguire il dump della memoria completo in modalità utente o kernel:

.dump /f 

ma /ma switch mette in realtà più informazioni per user-mode.

Se si ottiene l'errore:

Unable to create file 'c:\myDump.dmp' - Win32 error 0n5 
    "Access is denied." 

provare a scrivere il file C: \ Users \ \ directory pubblica.

.dump /f c:\users\public\myDump.dmp 
+0

Supponiamo di essere già in un punto di interruzione. Se ho capito bene, il comando è '.dump/ma c: \ myDump.dmp', giusto? – valdo

+0

@valdo yes corretto – EdChum

+0

Dal file della guida windbg per il comando .dump: in modalità kernel, per produrre un dump di memoria completo, utilizzare l'opzione/f. Per produrre un dump di memoria ridotto, utilizzare l'opzione/m (o nessuna opzione). Il comando .dump non può produrre un dump della memoria del kernel. Quindi forse solo '.dump/mc: \ myDump.dmp' (senza l'opzione' a' dopo l'opzione 'm'? –

2

Nota che .dump non può creare un dump di memoria del kernel, ma solo della memoria completa o Small discariche (/ f o/m). Per ottenere un dump della memoria del kernel, è necessario utilizzare il Pannello di controllo per abilitare la scrittura dei file di dump, quindi utilizzare .crash nel debugger per attivare un arresto anomalo che causerà la scrittura di un file di dump.

Vedere la guida di windbg per .crash per ulteriori dettagli su come utilizzarlo, incluso un collegamento a "Creazione di un file di dettagli in modalità kernel".

Problemi correlati