Hvordan kan jeg lese en DMP-fil?

Ung mann ved hjelp av bærbar datamaskin i kafé

Bildekreditt: Dangubic/iStock/Getty Images

Hver databruker kjenner den frustrerte, synkende følelsen som oppstår når et systemkrasj inntreffer. Systemkrasj skjer uten forvarsel og resulterer i redusert produktivitet, irriterte brukere og noen ganger tapt arbeid.

En "dump" er en oversikt over datamaskinens tilstand i øyeblikket av en krasj. Dumpfiler genereres automatisk av Windows når en krasj oppstår. De brukes av utviklere og avanserte brukere for å finne ut hva som forårsaket krasjet. DMP er filtypen Windows bruker for dumpfiler.

Dagens video

DMP fildataformat

Det er tre typer minnedumper som kan genereres av Windows. Den første, og største, kalles en komplett minnedump. Når denne typen dump opprettes, skrives det totale innholdet i minnet til en DMP-fil.

Den andre, og spesielt mindre, dumptypen er kjerneminnedumpen. Som navnet tilsier, registrerer en kjerneminnedump bare kjerneminnet. Ikke-allokert minne og alt minne som er allokert til brukermodusprogrammer ignoreres. Dette gjør det enklere og mindre tidkrevende å analysere dumpfilen enn med en komplett minnedump.

Den tredje og mest kompakte typen dump, kalt en liten minnedump, genererer en DMP-fil som bare er 64 kilobyte stor. Den inkluderer bare følgende informasjon: Stopp-meldingen og dens parametere, en liste over lastede drivere, prosessorkonteksten (PRCB) for den stoppede prosessoren, prosessinformasjon og kjernekontekst (EPROCESS) data, prosessdata og kjernekontekst (ETHREAD) for den stoppede tråden, og kjernemodusanropsstabelen for den stoppede tråd.

Hvordan finne en DMP-fil

Som standard skrives både komplette minnedumper og kjerneminnedumper til %SystemRoot%\Memory.dmp. Windows lagrer bare én av disse dumpfilene om gangen. Når en ny krasj oppstår, overskrives den eksisterende DMP-filen.

DMP-filer generert av en liten minnedump lagres imidlertid i katalogen %SystemRoot%\Minidump. I motsetning til andre dumptyper, blir ikke eksisterende små minnedumpfiler overskrevet når nye genereres.

Windows inkluderer automatisk datoen i filnavnet til små minnedump-DMP-filer. For eksempel ble en DMP-fil med navnet "mini043014-01.dmp" opprettet 30. april 2014. "-01" etter datoen i filnavnet indikerer at det var den første DMP-filen som ble opprettet den dagen.

Åpne og vise en DMP-fil

Det er to hovedprogrammer som brukes til å åpne og vise DMP-filer: Windows Debugging Tools og Dump Check Utility, også kalt Dumpchk. Windows Debugging Tools er det beste alternativet for å undersøke komplette minnedumper og kjerneminnedumper, mens Dumpchk er ideelt for å se på små minnedumper. Begge applikasjonene kan lastes ned gratis fra Microsofts nettsider. Siden de eksakte nettadressene kan endre seg over tid, er det best å søke etter programmene etter navn på http://www.microsoft.com og last deretter ned fra de resulterende koblingene.

For å undersøke en DMP-fil ved hjelp av Windows Debugging Tools, åpne en ledetekst og naviger til mappen der du installerte Windows Debugging Tools. Skriv deretter inn en av følgende kommandoer for å åpne filen:

windbg -y SymbolPath -i ImagePath -z DumpFilePath

kd -y SymbolPath -i ImagePath -z DumpFilePath

Den første kommandoen åpner DMP-filen i Windows GUI-debugger, mens den andre kommandoen åpner den i et tekstbasert grensesnitt. SymbolPath-parameteren refererer til plasseringen av feilsøkingssymbolene på harddisken. ImagePath-parameteren refererer til plasseringen av bildefilene dine. Til slutt er DumpFilePath-parameteren plasseringen til DMP-filen.

For å åpne en DMP-fil i Dumpchk, skriv ganske enkelt inn følgende kommando i en ledetekst:

dumpchk DumpFilePath

Analysere innholdet i en DMP-fil

Windows Debugging Tools tilbyr en rekke nyttige kommandoer for å analysere DMP-filer. Kommandoen !analyze -show sender ut Stopp-feilkoden og dens parametere. Dette er nyttig for å finne ut hva som direkte førte til krasjet. Kommandoen !analyze -v viser den samme informasjonen som detaljert utdata. Kommandoen lm N T viser en liste over lastede moduler på tidspunktet for krasjet.

Sammenlignet med Windows Debugging Tools, er Dumpchk et ganske enkelt verktøy. Den brukes først og fremst til å verifisere integriteten til dumpfiler og for å vise dem. For å teste en dumpfil for feil, kan du bruke kommandolinjeutvidelsen -e. For eksempel vil du skrive følgende på kommandolinjen:

dumpchk -e DumpFilePath

Andre Dumpchk-alternativer inkluderer -v, som slår på verbose-modus, -p, som bare sender ut DMP-headeren, og -c, som utfører en rask dump-validering.