Come posso leggere un file DMP?
Ogni utente di computer conosce quella sensazione di frustrazione e di affondamento che si verifica quando si verifica un arresto anomalo del sistema. Gli arresti anomali del sistema si verificano senza preavviso e si traducono in una riduzione della produttività, utenti esasperati e talvolta lavoro perso.
Un "dump" è una registrazione dello stato del computer al momento di un arresto anomalo. I file dump vengono generati automaticamente da Windows quando si verifica un arresto anomalo. Sono utilizzati da sviluppatori e utenti avanzati per aiutare a capire cosa ha causato l'arresto anomalo. DMP è l'estensione di file utilizzata da Windows per i file di dump.
Formato dati file DMP
Esistono tre tipi di dump della memoria che possono essere generati da Windows. Il primo, e il più grande, è chiamato dump di memoria completo. Quando viene creato questo tipo di dump, il contenuto totale della memoria viene scritto in un file DMP.
Il secondo tipo di dump, e particolarmente più piccolo, è il dump della memoria del kernel. Come suggerisce il nome, un dump della memoria del kernel registra solo la memoria del kernel. La memoria non allocata e l'eventuale memoria allocata ai programmi in modalità utente vengono ignorate. Ciò rende l'analisi del file dump più semplice e meno dispendiosa in termini di tempo rispetto a un dump completo della memoria.
Il terzo e più compatto tipo di dump, chiamato dump di memoria di piccole dimensioni, genera un file DMP di appena 64 kilobyte. Include solo le seguenti informazioni:il messaggio Stop e i suoi parametri, un elenco di driver caricati, il contesto del processore (PRCB) per il processore arrestato, le informazioni sul processo e i dati del contesto del kernel (EPROCESS), i dati di processo e il contesto del kernel (ETHREAD ) per il thread interrotto e lo stack di chiamate in modalità kernel per il thread interrotto.
Come individuare un file DMP
Per impostazione predefinita, i dump della memoria completi e quelli della memoria del kernel vengono entrambi scritti in %SystemRoot%\Memory.dmp. Windows salva solo uno di questi file di dump alla volta. Quando si verifica un nuovo arresto anomalo, il file DMP esistente viene sovrascritto.
I file DMP generati da un dump di memoria ridotto, tuttavia, vengono salvati nella directory %SystemRoot%\Minidump. A differenza di altri tipi di dump, i file di dump di memoria di piccole dimensioni esistenti non vengono sovrascritti quando ne vengono generati di nuovi.
Windows include automaticamente la data nel nome file dei file DMP di dump di memoria ridotta. Ad esempio, il 30 aprile 2014 è stato creato un file DMP con il nome "mini043014-01.dmp". Il "-01" dopo la data nel nome del file indica che è stato il primo file DMP creato in quel giorno.
Apertura e visualizzazione di un file DMP
Esistono due principali applicazioni software utilizzate per aprire e visualizzare i file DMP:Strumenti di debug di Windows e Dump Check Utility, chiamata anche Dumpchk. Strumenti di debug di Windows è l'opzione migliore per esaminare dump di memoria completi e dump della memoria del kernel, mentre Dumpchk è l'ideale per esaminare piccoli dump di memoria. Entrambe le applicazioni possono essere scaricate gratuitamente dal sito Web di Microsoft. Poiché gli URL esatti possono cambiare nel tempo, è meglio cercare i programmi per nome all'indirizzo http://www.microsoft.com e quindi scaricarli dai collegamenti risultanti.
Per esaminare un file DMP utilizzando Strumenti di debug di Windows, apri un prompt dei comandi e vai alla cartella in cui hai installato Strumenti di debug di Windows. Quindi, inserisci uno dei seguenti comandi per aprire il file:
windbg -y SymbolPath -i ImagePath -z DumpFilePath
kd -y SymbolPath -i ImagePath -z DumpFilePath
Il primo comando aprirà il file DMP nel debugger della GUI di Windows, mentre il secondo comando lo aprirà in un'interfaccia basata su testo. Il parametro SymbolPath si riferisce alla posizione dei simboli di debug sul disco rigido. Il parametro ImagePath si riferisce alla posizione dei file di immagine. Infine, il parametro DumpFilePath è la posizione del file DMP.
Per aprire un file DMP in Dumpchk, digita semplicemente il seguente comando in un prompt dei comandi:
dumpchk DumpFilePath
Analisi del contenuto di un file DMP
Gli strumenti di debug di Windows offrono una serie di utili comandi per l'analisi dei file DMP. Il comando !analyze -show restituisce il codice di errore Stop e i relativi parametri. Questo è utile per capire cosa, esattamente, ha portato direttamente all'arresto anomalo. Il comando !analyze -v visualizza le stesse informazioni dell'output dettagliato. Il comando lm N T mostra un elenco di moduli caricati al momento dell'arresto anomalo.
Rispetto agli strumenti di debug di Windows, Dumpchk è un'utilità abbastanza semplice. Viene utilizzato principalmente per verificare l'integrità dei file dump e per visualizzarli. Per verificare la presenza di errori in un file dump, puoi utilizzare l'estensione della riga di comando -e. Ad esempio, digitare quanto segue nella riga di comando:
dumpchk -e DumpFilePath
Altre opzioni di Dumpchk includono -v, che attiva la modalità dettagliata, -p, che restituisce solo l'intestazione DMP e -c, che esegue una rapida convalida del dump.