Delen via


Een User-Mode dumpbestand analyseren

Dit artikel bevat:

Een User-Mode dumpbestand analyseren met WinDbg

U kunt geheugendumpbestanden in de gebruikersmodus analyseren met WinDbg. De processor- of Windows-versie die het dumpbestand heeft gemaakt, hoeft niet overeen te komen met het platform waarop u WinDbg uitvoert.

Symboolbestanden installeren

Voordat u het geheugendumpbestand analyseert, opent u de symboolbestanden voor de versie van Windows die het dumpbestand heeft gegenereerd. Het foutopsporingsprogramma dat u kiest om het dumpbestand te analyseren, gebruikt deze bestanden. Zie Openbare symbolen van Microsoftvoor meer informatie over het werken met de symboolserver.

U moet ook alle symboolbestanden voor het gebruikersmodusproces, een toepassing of systeemservice, installeren waardoor het systeem het dumpbestand heeft gegenereerd. Als u deze code hebt geschreven, worden de symboolbestanden gegenereerd wanneer u de code compileert en koppelt. Als deze code commercieel is, neemt u contact op met de softwarefabrikant om te zien of er symboolbestanden beschikbaar zijn.

WinDbg starten

Als u een dumpbestand wilt analyseren, start u WinDbg met de opdrachtregeloptie -z :

windbg -ySymbolPath-iImagePath-zDumpFileName

De optie -v (verbose modus) is ook handig. Zie WinDbg Command-Line Options voor een volledige lijst met opties.

Als WinDbg al actief is en in de slaapstand staat, kunt u een crashdump openen door het bestand | te selecteren Open de menuopdracht Crashdump of druk op Ctrl+D. Wanneer het dialoogvenster Crashdump openen wordt weergegeven, voert u het volledige pad en de naam van het crashdumpbestand in het tekstvak Bestandsnaam in of gebruikt u het dialoogvenster om het juiste pad en de juiste bestandsnaam te selecteren. Wanneer het juiste bestand is gekozen, selecteert u Openen.

U kunt ook een dumpbestand openen nadat het foutopsporingsprogramma wordt uitgevoerd met behulp van de opdracht .opendump (Open Dump File), gevolgd door g (Go).

U kunt tegelijkertijd fouten opsporen in meerdere dumpbestanden. Hiervoor moet u meerdere -z-switches opnemen op de opdrachtregel (elk gevolgd door een andere bestandsnaam) of .opendump gebruiken om extra dumpbestanden toe te voegen als foutopsporingsprogrammadoelen. Zie Fouten opsporen in meerdere doelen voor informatie over het beheren van een sessie met meerdere doelen.

Dumpbestanden eindigen over het algemeen met de extensie .dmp of .mdmp. U kunt netwerkshares of UNC-bestandsnamen (Universal Naming Convention) gebruiken voor het geheugendumpbestand.

Het is gebruikelijk om dumpbestanden in een CAB-bestand in te pakken. Als u de bestandsnaam opgeeft (inclusief de .cab-extensie) na de optie -z of als argument voor een .opendump-opdracht , kan het foutopsporingsprogramma de dumpbestanden rechtstreeks vanuit de CAB lezen. Als er echter meerdere dumpbestanden zijn opgeslagen in één CAB, kan het foutopsporingsprogramma slechts één van deze bestanden lezen. Het foutopsporingsprogramma leest geen extra bestanden uit de CAB, zelfs niet als het symboolbestanden of uitvoerbare bestanden zijn die aan het dumpbestand zijn gekoppeld.

Een volledig gebruikersdumpbestand analyseren

Het analyseren van een volledig gebruikersdumpbestand is vergelijkbaar met het analyseren van een live foutopsporingssessie. Zie de sectie Naslaginformatie over foutopsporingsopdrachten voor meer informatie over de opdrachten die beschikbaar zijn voor het opsporen van fouten in dumpbestanden in de gebruikersmodus.

Minidumpbestanden analyseren

Het analyseren van een minidumpbestand in de gebruikersmodus wordt op dezelfde manier uitgevoerd als het analyseren van een volledige gebruikersdump. Omdat de minidump echter veel minder geheugen behoudt, bent u beperkter in de acties die u kunt uitvoeren. Opdrachten die proberen toegang te krijgen tot geheugen buiten wat behouden blijft in het minidump-bestand werken niet goed.

Aanvullende technieken

Zie Informatie uit een dumpbestand extraheren voor technieken die u kunt gebruiken om specifieke soorten informatie uit een dumpbestand te lezen.

Een User-Mode dumpbestand analyseren met CDB

U kunt CDB gebruiken om geheugendumpbestanden in de gebruikersmodus te analyseren. De processor- of Windows-versie die het dumpbestand heeft gemaakt, hoeft niet overeen te komen met het platform waarop u CDB uitvoert.

Symboolbestanden installeren

Voordat u het geheugendumpbestand analyseert, opent u de symboolbestanden voor de versie van Windows die het dumpbestand heeft gegenereerd. Het foutopsporingsprogramma dat u kiest om het dumpbestand te analyseren, gebruikt deze bestanden. Zie Openbare symbolen van Microsoftvoor meer informatie over het werken met de symboolserver.

U moet ook alle symboolbestanden voor het gebruikersmodusproces, een toepassing of systeemservice, installeren waardoor het systeem het dumpbestand heeft gegenereerd. Als u deze code hebt geschreven, worden de symboolbestanden gegenereerd wanneer u de code compileert en koppelt. Als deze code commercieel is, neemt u contact op met de softwarefabrikant om te zien of er symboolbestanden beschikbaar zijn.

CDB starten

Als u een dumpbestand wilt analyseren, start u CDB met de opdrachtregeloptie -z :

cdb -ySymbolPath-iImagePath-zDumpFileName

De optie -v (in de uitgebreide modus) is ook handig. Zie CDB Command-Line Options voor een volledige lijst met opties.

U kunt ook een dumpbestand openen nadat het foutopsporingsprogramma wordt uitgevoerd met behulp van de opdracht .opendump (Open Dump File), gevolgd door g (Go). Met deze opdracht kunt u tegelijkertijd fouten opsporen in meerdere dumpbestanden.

U kunt tegelijkertijd fouten opsporen in meerdere dumpbestanden. Hiervoor moet u meerdere -z-switches opnemen op de opdrachtregel (elk gevolgd door een andere bestandsnaam) of .opendump gebruiken om extra dumpbestanden toe te voegen als foutopsporingsprogrammadoelen. Zie Fouten opsporen in meerdere doelen voor informatie over het beheren van een sessie met meerdere doelen.

Dumpbestanden eindigen over het algemeen met de extensie .dmp of .mdmp. U kunt netwerkshares of UNC-bestandsnamen (Universal Naming Convention) gebruiken voor het geheugendumpbestand.

Het is gebruikelijk om dumpbestanden in een CAB-bestand in te pakken. Als u de bestandsnaam opgeeft (inclusief de .cab-extensie) na de optie -z of als argument voor een .opendump-opdracht , kan het foutopsporingsprogramma de dumpbestanden rechtstreeks vanuit de CAB lezen. Als er echter meerdere dumpbestanden zijn opgeslagen in één CAB, kan het foutopsporingsprogramma slechts één van deze bestanden lezen. Het foutopsporingsprogramma leest geen extra bestanden uit de CAB, zelfs niet als het symboolbestanden of uitvoerbare bestanden zijn die aan het dumpbestand zijn gekoppeld.

Een volledig gebruikersdumpbestand analyseren

Het analyseren van een volledig gebruikersdumpbestand is vergelijkbaar met het analyseren van een live foutopsporingssessie. Zie de sectie Naslaginformatie over foutopsporingsopdrachten voor meer informatie over de opdrachten die beschikbaar zijn voor het opsporen van fouten in dumpbestanden in de gebruikersmodus.

Minidumpbestanden analyseren

Analyse van een minidumpbestand in de gebruikersmodus wordt op dezelfde manier uitgevoerd als een volledige gebruikersdump. Omdat de minidump echter veel minder geheugen behoudt, bent u beperkter in de acties die u kunt uitvoeren. Opdrachten die proberen toegang te krijgen tot geheugen buiten wat het minidump-bestand behoudt, werken niet goed.

Aanvullende technieken

Zie Informatie uit een dumpbestand extraheren voor technieken die u kunt gebruiken om specifieke soorten informatie uit een dumpbestand te lezen.