Condividi tramite


Analisi di un file di dump in modalità kernel con KD

I file di dump della memoria in modalità kernel possono essere analizzati da KD. Il processore o la versione di Windows in cui è stato creato il file di dump non deve corrispondere alla piattaforma in cui viene eseguito KD.

Avvio KD

Per analizzare un file di dump, avviare KD con l'opzione della riga di comando -z :

kd -y SymbolPath -i ImagePath -z DumpFileName

È utile anche l'opzione -v (modalità dettagliata). Per un elenco completo delle opzioni, vedere Opzioni della riga di comando KD.

È anche possibile aprire un file dump dopo l'esecuzione del debugger usando il comando opendump (Open Dump File), seguito da g (Go).

È possibile eseguire il debug di più file di dump contemporaneamente. Questa operazione può essere eseguita includendo più opzioni -z sulla riga di comando (ognuna seguita da un nome file diverso) o usando .opendump per aggiungere altri file di dump come destinazioni del debugger. Per informazioni su come controllare una sessione con più destinazioni, vedere Debug di più destinazioni.

I file di dump terminano in genere con l'estensione .dmp o mdmp. È possibile usare condivisioni di rete o nomi di file UNC (Universal Naming Convention) per il file di dump della memoria.

È anche comune che i file di dump vengano compressi in un file CAB. Se si specifica il nome del file (inclusa l'estensione .cab) dopo l'opzione -z o come argomento di un comando con estensione opendump, il debugger può leggere i file di dump direttamente dal cab. Tuttavia, se sono presenti più file di dump archiviati in un singolo cab, il debugger sarà in grado di leggerne uno solo. Il debugger non leggerà file aggiuntivi dal file CAB, anche se erano file di simboli o altri file associati al file di dump.

Analisi del file di dump

Se si analizza un dump della memoria kernel o un dump di memoria di piccole dimensioni, potrebbe essere necessario impostare il percorso dell'immagine eseguibile in modo che punti a tutti i file eseguibili che potrebbero essere stati caricati in memoria al momento dell'arresto anomalo.

L'analisi di un file di dump è simile all'analisi di una sessione di debug in tempo reale. Per informazioni dettagliate sui comandi disponibili per il debug dei file di dump in modalità kernel, vedere la sezione Informazioni di riferimento sui comandi del debugger.

Nella maggior parte dei casi, è consigliabile iniziare usando !analyze. Questo comando di estensione esegue l'analisi automatica del file di dump e spesso può comportare molte informazioni utili.

Il controllo bug (visualizza i dati di controllo dei bug) mostra il codice di controllo dei bug e i relativi parametri. Cercare il controllo del bug nel riferimento al codice di controllo dei bug per informazioni sull'errore specifico.

Le estensioni del debugger seguenti sono particolarmente utili per l'analisi di un dump di arresto anomalo in modalità kernel:

Lm

!**xt*.locks

!memusage

!Vm

!errlog

!process 0 0

!process 0 7

Per le tecniche che possono essere usate per leggere tipi specifici di informazioni da un file di dump, vedere Estrazione di informazioni da un file di dump.