Hur kan jag läsa en DMP-fil?

Ung Man Använder Laptop I Café

Bildkredit: Dangubic/iStock/Getty Images

Varje datoranvändare känner till den där frustrerade, sjunkande känslan som uppstår när en systemkrasch inträffar. Systemkrascher sker utan förvarning och resulterar i minskad produktivitet, upprörda användare och ibland förlorat arbete.

En "dump" är en registrering av datorns tillstånd i ögonblicket för en krasch. Dumpfiler genereras automatiskt av Windows när en krasch inträffar. De används av utvecklare och avancerade användare för att ta reda på vad som orsakade kraschen. DMP är filtillägget Windows använder för dumpfiler.

Dagens video

DMP-fildataformat

Det finns tre typer av minnesdumpar som kan genereras av Windows. Den första, och största, kallas en komplett minnesdump. När denna typ av dump skapas skrivs det totala innehållet i minnet till en DMP-fil.

Den andra, och särskilt mindre, dumptypen är kärnminnesdumpen. Som namnet antyder, registrerar en kärnminnesdump endast kärnminnet. Oallokerat minne och eventuellt minne som allokerats till program i användarläge ignoreras. Detta gör det enklare och mindre tidskrävande att analysera dumpfilen än med en komplett minnesdump.

Den tredje och mest kompakta typen av dump, som kallas en liten minnesdump, genererar en DMP-fil som bara är 64 kilobyte stor. Den innehåller endast följande information: stoppmeddelandet och dess parametrar, en lista över laddade drivrutiner, processorkontexten (PRCB) för den stoppade processorn, processinformation och kärnkontext (EPROCESS) data, processdata och kärnkontext (ETHREAD) för den stoppade tråden och anropsstacken i kärnläge för den stoppade tråd.

Hur man hittar en DMP-fil

Som standard skrivs både fullständiga minnesdumpar och kärnminnesdumpar till %SystemRoot%\Memory.dmp. Windows sparar bara en av dessa dumpfiler åt gången. När en ny krasch inträffar skrivs den befintliga DMP-filen över.

DMP-filer som genereras av en liten minnesdump sparas dock i katalogen %SystemRoot%\Minidump. Till skillnad från andra dumptyper skrivs inte befintliga små minnesdumpfiler över när nya genereras.

Windows inkluderar automatiskt datumet i filnamnet för små minnesdump-DMP-filer. Till exempel skapades en DMP-fil med namnet "mini043014-01.dmp" den 30 april 2014. "-01" efter datumet i filnamnet indikerar att det var den första DMP-filen som skapades den dagen.

Öppna och visa en DMP-fil

Det finns två huvudsakliga program som används för att öppna och visa DMP-filer: Windows Debugging Tools och Dump Check Utility, även kallat Dumpchk. Windows Debugging Tools är det bästa alternativet för att undersöka kompletta minnesdumpar och kärnminnesdumpar, medan Dumpchk är idealiskt för att titta på små minnesdumpar. Båda applikationerna kan laddas ner gratis från Microsofts webbplats. Eftersom de exakta webbadresserna kan ändras med tiden är det bäst att söka efter programmen efter namn på http://www.microsoft.com och ladda sedan ner från de resulterande länkarna.

För att undersöka en DMP-fil med Windows Debugging Tools, öppna en kommandotolk och navigera till mappen där du installerade Windows Debugging Tools. Ange sedan ett av följande kommandon för att öppna filen:

windbg -y SymbolPath -i ImagePath -z DumpFilePath

kd -y SymbolPath -i ImagePath -z DumpFilePath

Det första kommandot öppnar DMP-filen i Windows GUI-debugger, medan det andra kommandot öppnar den i ett textbaserat gränssnitt. SymbolPath-parametern hänvisar till platsen för felsökningssymbolerna på din hårddisk. ImagePath-parametern hänvisar till platsen för dina bildfiler. Slutligen är parametern DumpFilePath platsen för din DMP-fil.

För att öppna en DMP-fil i Dumpchk, skriv helt enkelt följande kommando i en kommandotolk:

dumpchk DumpFilePath

Analysera innehållet i en DMP-fil

Windows Debugging Tools erbjuder ett antal användbara kommandon för att analysera DMP-filer. Kommandot !analyze -show matar ut stoppfelkoden och dess parametrar. Detta är användbart för att ta reda på vad som direkt ledde till kraschen. Kommandot !analyze -v visar samma information som utförlig utdata. Kommandot lm N T visar en lista över laddade moduler vid tidpunkten för kraschen.

Jämfört med Windows Debugging Tools är Dumpchk ett ganska enkelt verktyg. Det används främst för att verifiera integriteten hos dumpfiler och för att visa dem. För att testa en dumpfil för fel kan du använda kommandoradstillägget -e. Till exempel skulle du skriva följande på kommandoraden:

dumpchk -e DumpFilePath

Andra Dumpchk-alternativ inkluderar -v, som aktiverar verbose mode, -p, som endast matar ut DMP-huvudet, och -c, som utför en snabb dumpvalidering.