Analisi di un file di dump in modalità utente
Questo articolo include:
Analisi di un file dump User-Mode con WinDbg
È possibile analizzare i file di dump della memoria in modalità utente con WinDbg. La versione del processore o di Windows che ha creato il file di dump non deve corrispondere alla piattaforma in cui si esegue WinDbg.
Installazione dei file di simboli
Prima di analizzare il file di dump della memoria, accedere ai file simbolo per la versione di Windows che ha generato il file di dump. Il debugger scelto per analizzare il file di dump usa questi file. Per informazioni sull'uso del server dei simboli, vedere Microsoft Public Symbols.
È 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 dal sistema. Se è stato scritto questo codice, i file di simboli vengono generati durante la compilazione e il collegamento del codice. Se questo codice è commerciale, contattare il produttore del software per verificare se i file di simboli sono disponibili.
Avvio di WinDbg
Per analizzare un file di dump, avviare WinDbg con l'opzione -z della riga di comando:
windbg -ySymbolPath-iImagePath-zDumpFileName
L'opzione -v (modalità dettagliata) è anche utile. Per un elenco completo delle opzioni, vedere Opzioni Command-Line WinDbg.
Se WinDbg è già in esecuzione e in modalità inattiva, è possibile aprire un dump di arresto anomalo selezionando il comando di menu File | Open Crash Dump o premendo CTRL+D. Quando viene visualizzata la finestra di dialogo Apri crash dump, immettere il percorso completo e il nome del file crash dump nella casella di testo Nome file oppure usare la finestra di dialogo per selezionare il percorso e il nome file appropriati. Quando si sceglie il file corretto, selezionare Apri.
È anche possibile aprire un file dump dopo l'esecuzione del debugger usando il comandoopendump (Open Dump File), seguito da g (Go).
È possibile eseguire il debug di più file di dump contemporaneamente. A tale scopo, includere più opzioni -z sulla riga di comando (ognuna seguita da un nome file diverso) oppure usare opendump per aggiungere altri file di dump come destinazioni del debugger. Per informazioni su come controllare una sessione con più destinazioni, vedere Debugging 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.
È comune comprimere i file di dump 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 CAB. Tuttavia, se sono presenti più file di dump archiviati in un singolo cab, il debugger può leggerne solo uno. Il debugger non legge file aggiuntivi dal cab, anche se si tratta di file di simboli o eseguibili associati al file di dump.
Analisi di un file di dump completo dell'utente
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 di riferimento Debugger Commands.
Analisi dei file minidump
L'analisi di un file minidump in modalità utente viene eseguita allo stesso modo dell'analisi di un dump completo dell'utente. Tuttavia, poiché il minidump mantiene molto meno memoria, è più limitato nelle azioni che è possibile eseguire. I comandi che tentano di accedere alla memoria oltre a ciò che viene mantenuto nel file minidump non funzionano correttamente.
Tecniche aggiuntive
Per le tecniche che è possibile usare per leggere tipi specifici di informazioni da un file di dump, vedere Estrarre informazioni da un file di dump.
Analisi di un file dump User-Mode con CDB
È possibile usare CDB per analizzare i file di dump della memoria in modalità utente. Il processore o la versione di Windows che ha creato il file di dump non deve corrispondere alla piattaforma in cui si esegue CDB.
Installazione dei file di simboli
Prima di analizzare il file di dump della memoria, accedere ai file di simboli per la versione di Windows che ha generato il file di dump. Il debugger scelto per analizzare il file di dump usa questi file. Per informazioni sull'uso del server dei simboli, vedere Microsoft Public Symbols.
È 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 dal sistema. Se è stato scritto questo codice, i file di simboli vengono generati durante la compilazione e il collegamento del codice. Se questo codice è commerciale, contattare il produttore del software per verificare se i file di simboli sono disponibili.
Avvio di CDB
Per analizzare un file dump, avviare CDB con l'opzione -z della riga di comando:
cdb -ySymbolPath-iImagePath-zDumpFileName
L'opzione -v (modalità dettagliata) è anche utile. Per un elenco completo delle opzioni, vedere CDB Command-Line Opzioni.
È anche possibile aprire un file dump dopo l'esecuzione del debugger usando il comandoopendump (Open Dump File), seguito da g (Go). Questo comando consente di eseguire il debug di più file di dump contemporaneamente.
È possibile eseguire il debug di più file di dump contemporaneamente. A tale scopo, includere più opzioni -z sulla riga di comando (ognuna seguita da un nome file diverso) oppure usare opendump per aggiungere altri file di dump come destinazioni del debugger. Per informazioni su come controllare una sessione con più destinazioni, vedere Debugging 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.
È comune comprimere i file di dump 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 CAB. Tuttavia, se sono presenti più file di dump archiviati in un singolo cab, il debugger può leggerne solo uno. Il debugger non legge file aggiuntivi dal 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 di riferimento Debugger Commands.
Analisi dei file minidump
L'analisi di un file minidump in modalità utente viene eseguita nello stesso modo di un dump completo dell'utente. Tuttavia, poiché il minidump mantiene molto meno memoria, è più limitato nelle azioni che è possibile eseguire. I comandi che tentano di accedere alla memoria oltre a ciò che il file minidump mantiene non funziona correttamente.
Tecniche aggiuntive
Per le tecniche che è possibile usare per leggere tipi specifici di informazioni da un file di dump, vedere Estrarre informazioni da un file di dump.