Hoe kan ik een DMP-bestand lezen?

Jonge man met laptop in café

Afbeelding tegoed: Dangubic/iStock/Getty Images

Elke computergebruiker kent dat gefrustreerde, zinkende gevoel dat optreedt wanneer een systeemcrash toeslaat. Systeemcrashes gebeuren zonder waarschuwing en resulteren in verminderde productiviteit, geïrriteerde gebruikers en soms verlies van werk.

Een "dump" is een registratie van de toestand van de computer op het moment van een crash. Dumpbestanden worden automatisch gegenereerd door Windows wanneer er een crash optreedt. Ze worden gebruikt door ontwikkelaars en geavanceerde gebruikers om erachter te komen wat de crash heeft veroorzaakt. DMP is de bestandsextensie die Windows gebruikt voor dumpbestanden.

Video van de dag

DMP-bestandsgegevensindeling

Er zijn drie soorten geheugendumps die door Windows kunnen worden gegenereerd. De eerste en grootste wordt een complete geheugendump genoemd. Wanneer dit type dump wordt gemaakt, wordt de totale inhoud van het geheugen naar een DMP-bestand geschreven.

Het tweede, en met name kleinere, dumptype is de kernelgeheugendump. Zoals de naam al aangeeft, registreert een kernelgeheugendump alleen het kernelgeheugen. Niet-toegewezen geheugen en geheugen dat is toegewezen aan programma's in de gebruikersmodus, wordt genegeerd. Dit maakt het analyseren van het dumpbestand eenvoudiger en minder tijdrovend dan bij een volledige geheugendump.

Het derde en meest compacte type dump, een kleine geheugendump genoemd, genereert een DMP-bestand dat slechts 64 kilobytes groot is. Het bevat alleen de volgende informatie: het stopbericht en de bijbehorende parameters, een lijst met geladen stuurprogramma's, de processorcontext (PRCB) voor de gestopte processor, de procesinformatie en kernelcontextgegevens (EPROCESS), de procesgegevens en kernelcontext (ETHREAD) voor de gestopte thread en de kernelmodusaanroepstack voor de gestopte thread draad.

Hoe een DMP-bestand te lokaliseren

Standaard worden volledige geheugendumps en kernelgeheugendumps beide geschreven naar %SystemRoot%\Memory.dmp. Windows slaat slechts één van deze dumpbestanden tegelijk op. Wanneer een nieuwe crash optreedt, wordt het bestaande DMP-bestand overschreven.

DMP-bestanden die door een kleine geheugendump worden gegenereerd, worden echter opgeslagen in de map %SystemRoot%\Minidump. In tegenstelling tot andere dumptypen, worden bestaande kleine geheugendumpbestanden niet overschreven wanneer nieuwe worden gegenereerd.

Windows neemt automatisch de datum op in de bestandsnaam van DMP-bestanden met een kleine geheugendump. Op 30 april 2014 is bijvoorbeeld een DMP-bestand met de naam "mini043014-01.dmp" gemaakt. De "-01" achter de datum in de bestandsnaam geeft aan dat dit het eerste DMP-bestand was dat op die dag werd gemaakt.

Een DMP-bestand openen en bekijken

Er zijn twee belangrijke softwaretoepassingen die worden gebruikt om DMP-bestanden te openen en te bekijken: Windows Debugging Tools en de Dump Check Utility, ook wel Dumpchk genoemd. Windows Debugging Tools is de beste optie voor het onderzoeken van volledige geheugendumps en kernelgeheugendumps, terwijl Dumpchk ideaal is voor het bekijken van kleine geheugendumps. Beide applicaties kunnen gratis worden gedownload van de website van Microsoft. Aangezien de exacte URL's in de loop van de tijd kunnen veranderen, is het het beste om de programma's op naam te zoeken op http://www.microsoft.com en download vervolgens van de resulterende links.

Om een ​​DMP-bestand te onderzoeken met behulp van Windows Debugging Tools, opent u een opdrachtprompt en navigeert u naar de map waarin u Windows Debugging Tools hebt geïnstalleerd. Voer vervolgens een van de volgende opdrachten in om het bestand te openen:

windbg -y SymbolPath -i ImagePath -z DumpFilePath

kd -y SymbolPath -i ImagePath -z DumpFilePath

De eerste opdracht opent het DMP-bestand in de GUI-debugger van Windows, terwijl de tweede opdracht het opent in een op tekst gebaseerde interface. De parameter SymbolPath verwijst naar de locatie van de foutopsporingssymbolen op uw harde schijf. De parameter ImagePath verwijst naar de locatie van uw afbeeldingsbestanden. Ten slotte is de parameter DumpFilePath de locatie van uw DMP-bestand.

Om een ​​DMP-bestand in Dumpchk te openen, typt u eenvoudig de volgende opdracht in een opdrachtprompt:

dumpchk DumpFilePath

De inhoud van een DMP-bestand analyseren

Windows Debugging Tools bieden een aantal handige opdrachten voor het analyseren van DMP-bestanden. De opdracht !analyze -show voert de Stop-foutcode en de bijbehorende parameters uit. Dit is handig om uit te zoeken wat precies direct tot de crash heeft geleid. De opdracht !analyze -v geeft dezelfde informatie weer als uitgebreide uitvoer. De opdracht lm NT toont een lijst met geladen modules op het moment van de crash.

Vergeleken met Windows Debugging Tools is Dumpchk een vrij eenvoudig hulpprogramma. Het wordt voornamelijk gebruikt om de integriteit van dumpbestanden te controleren en te bekijken. Om een ​​dumpbestand op fouten te testen, kunt u de opdrachtregelextensie -e gebruiken. U typt bijvoorbeeld het volgende op de opdrachtregel:

dumpchk -e DumpFilePath

Andere Dumpchk-opties zijn onder meer -v, dat de uitgebreide modus inschakelt, -p, dat alleen de DMP-header uitvoert, en -c, dat een snelle dump-validatie uitvoert.