Share via


Analisi di un file dump di User-Mode

Contenuto dell'argomento:

Analisi di un file di dump User-Mode con WinDbg

I file di dump della memoria in modalità utente possono essere analizzati da WinDbg. La versione del processore o di Windows in cui è stato creato il file di dump non deve corrispondere alla piattaforma in cui viene eseguito WinDbg.

Installazione dei file di simboli

Prima di analizzare il file di dump della memoria, è necessario accedere ai file di simboli per la versione di Windows che ha generato il file di dump. Questi file verranno usati dal debugger che si sceglie di usare per analizzare il file di dump. Per informazioni sull'uso del server dei simboli, vedere Microsoft Public Symbols..

Sarà anche necessario installare tutti i file di simboli per il processo in modalità utente, un'applicazione o un servizio di sistema, che ha causato la generazione del file di dump da parte del sistema. Se questo codice è stato scritto dall'utente, i file di simboli dovrebbero essere stati generati quando il codice è stato compilato e collegato. Se si tratta di codice commerciale, controllare il CD-ROM del prodotto o contattare il produttore del software per questi file di simboli specifici.

Avvio di WinDbg

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

windbg -ySymbolPath-iImagePath-zDumpFileName

È utile anche l'opzione -v (modalità dettagliata). Per un elenco completo delle opzioni, vedere Opzioni di WinDbg Command-Line.

Se WinDbg è già in esecuzione ed è in modalità inattiva, è possibile aprire un dump di arresto anomalo selezionando il file | Aprire il comando di menu Dump arresto anomalo o premere il tasto di scelta rapida CTRL+D. Quando viene visualizzata la finestra di dialogo Apri dump di arresto anomalo del sistema, immettere il percorso completo e il nome del file di dump di arresto anomalo del sistema nella casella di testo Nome file oppure usare la finestra di dialogo per selezionare il percorso e il nome file appropriati. Dopo aver scelto il file appropriato, selezionare Apri.

È anche possibile aprire un file di 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. A tale scopo, è possibile includere più opzioni -z nella 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 opendump , il debugger può leggere i file di dump direttamente dal FILE CAB. Tuttavia, se sono presenti più file di dump archiviati in un singolo CAB, il debugger sarà in grado di leggerne solo uno. Il debugger non leggerà altri file dal file CAB, anche se si tratta di file di simboli o eseguibili associati al file di dump.

Analisi di un file di dump utente completo

L'analisi di un file di dump utente completo è 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à utente, vedere la sezione Informazioni di riferimento sui comandi del debugger .

Analisi dei file minidump

L'analisi di un file minidump in modalità utente viene eseguita allo stesso modo di un dump utente completo. Tuttavia, poiché è stata mantenuta molta meno memoria, le azioni che è possibile eseguire sono molto più limitate. I comandi che tentano di accedere alla memoria oltre a ciò che viene mantenuto nel file minidump non funzioneranno correttamente.

Tecniche aggiuntive

Per le tecniche che è possibile usare per leggere tipi specifici di informazioni da un file dump, vedere Estrazione di informazioni da un file dump.

Analisi di un file di dump User-Mode con CDB

I file di dump della memoria in modalità utente possono essere analizzati da CDB. La versione del processore o di Windows in cui è stato creato il file di dump non deve corrispondere alla piattaforma in cui viene eseguita la rete CDB.

Installazione dei file di simboli

Prima di analizzare il file di dump della memoria, è necessario accedere ai file di simboli per la versione di Windows che ha generato il file di dump. Questi file verranno usati dal debugger che si sceglie di usare per analizzare il file di dump. Per informazioni sull'uso del server dei simboli, vedere Simboli pubblici Microsoft.

Sarà anche necessario installare tutti i file di simboli per il processo in modalità utente, un'applicazione o un servizio di sistema, che ha causato la generazione del file di dump da parte del sistema. Se questo codice è stato scritto dall'utente, i file di simboli dovrebbero essere stati generati quando il codice è stato compilato e collegato. Se si tratta di codice commerciale, controllare il CD-ROM del prodotto o contattare il produttore del software per questi file di simboli specifici.

Avvio di CDB

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

cdb -ySymbolPath-iImagePath-zDumpFileName

È utile anche l'opzione -v (modalità dettagliata). Per un elenco completo delle opzioni, vedere Opzioni di Command-Line cdb.

È anche possibile aprire un file di dump dopo l'esecuzione del debugger usando il comando opendump (Open Dump File), seguito da g (Go). In questo modo è possibile eseguire il debug di più file di dump contemporaneamente.

È possibile eseguire il debug di più file di dump contemporaneamente. A tale scopo, è possibile includere più opzioni -z nella 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 opendump , il debugger può leggere i file di dump direttamente dal FILE CAB. Tuttavia, se sono presenti più file di dump archiviati in un singolo CAB, il debugger sarà in grado di leggerne solo uno. Il debugger non leggerà altri file dal file CAB, anche se si tratta di file di simboli o eseguibili associati al file dump.

Analisi di un file di dump utente completo

L'analisi di un file di dump utente completo è 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à utente, vedere la sezione Informazioni di riferimento sui comandi del debugger .

Analisi dei file minidump

L'analisi di un file minidump in modalità utente viene eseguita allo stesso modo di un dump utente completo. Tuttavia, poiché è stata mantenuta molta meno memoria, le azioni che è possibile eseguire sono molto più limitate. I comandi che tentano di accedere alla memoria oltre a ciò che viene mantenuto nel file minidump non funzioneranno correttamente.

Tecniche aggiuntive

Per le tecniche che è possibile usare per leggere tipi specifici di informazioni da un file dump, vedere Estrazione di informazioni da un file dump.