Credito immagine: Dangubic/iStock/Getty Images
Ogni utente di computer conosce quella sensazione di frustrazione e di naufragio che si verifica quando si verifica un arresto anomalo del sistema. Gli arresti anomali del sistema si verificano senza preavviso e comportano una riduzione della produttività, utenti esasperati e talvolta la perdita di lavoro.
Un "dump" è una registrazione dello stato del computer al momento di un arresto anomalo. I file di 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 del file utilizzata da Windows per i file di dump.
Video del giorno
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, e notevolmente più piccolo, tipo di dump è 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 qualsiasi memoria allocata ai programmi in modalità utente viene ignorata. 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 della memoria ridotto, genera un file DMP di appena 64 kilobyte. Include solo le seguenti informazioni: il messaggio di arresto e i suoi parametri, un elenco di driver caricati, il contesto del processore (PRCB) per il processore arrestato, il informazioni sul processo e dati del contesto del kernel (EPROCESS), i dati del processo e il contesto del kernel (ETHREAD) per il thread interrotto e lo stack di chiamate in modalità kernel per il thread interrotto filo.
Come individuare un file DMP
Per impostazione predefinita, i dump della memoria completi e i dump della memoria del kernel vengono scritti entrambi in %SystemRoot%\Memory.dmp. Windows salva solo uno di questi file dump alla volta. Quando si verifica un nuovo arresto anomalo, il file DMP esistente viene sovrascritto.
I file DMP generati da un dump della memoria ridotto, tuttavia, vengono salvati nella directory %SystemRoot%\Minidump. A differenza di altri tipi di dump, i file di dump della memoria ridotta esistenti non vengono sovrascritti quando ne vengono generati di nuovi.
Windows include automaticamente la data nel nome file dei file DMP di dump della memoria ridotta. Ad esempio, il 30 aprile 2014 è stato creato un file DMP con il nome "mini043014-01.dmp". Il "-01" che segue 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: Windows Debugging Tools e Dump Check Utility, chiamata anche Dumpchk. Strumenti di debug di Windows è l'opzione migliore per esaminare dump di memoria completi e dump di 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 su http://www.microsoft.com e quindi scaricare 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 fa riferimento 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 comandi utili per l'analisi dei file DMP. Il comando !analyze -show restituisce il codice di errore di arresto e i relativi parametri. Questo è utile per capire cosa, esattamente, ha portato direttamente all'incidente. Il comando !analyze -v visualizza le stesse informazioni dell'output dettagliato. Il comando lm N T visualizza 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 di dump e per visualizzarli. Per verificare la presenza di errori in un file dump, è possibile 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.