Analysieren einer Benutzermodusabbilddatei
Dieses Thema enthält:
- Analysieren einer Benutzermodusabbilddatei mit WinDbg
- Analysieren einer Benutzermodusabbilddatei mit CDB
Analysieren einer Benutzermodusabbilddatei mit WinDbg
Speicherabbilddateien im Benutzermodus können von WinDbg analysiert werden. Die Prozessor- oder Windows-Version, auf der die Sicherungsdatei erstellt wurde, muss nicht mit der Plattform übereinstimmen, auf der WinDbg ausgeführt wird.
Installieren von Symboldateien
Bevor Sie die Speicherabbilddatei analysieren, müssen Sie auf die Symboldateien für die Version von Windows zugreifen, die die Speicherabbilddatei generiert hat. Diese Dateien werden vom Debugger verwendet, den Sie zum Analysieren der Speicherabbilddatei verwenden möchten. Informationen zum Arbeiten mit dem Symbolserver finden Sie unter Microsoft Public Symbols.
Außerdem müssen Sie alle Symboldateien für den Benutzermodusprozess, entweder eine Anwendung oder einen Systemdienst, installieren, die dazu führte, dass das System die Speicherabbilddatei generierte. Wenn dieser Code von Ihnen geschrieben wurde, sollten die Symboldateien generiert worden sein, wenn der Code kompiliert und verknüpft wurde. Wenn es sich um einen Handelscode handelt, überprüfen Sie die Produkt-CD-ROM, oder wenden Sie sich an den Softwarehersteller, um diese speziellen Symboldateien zu ermitteln.
Starten von WinDbg
Um eine Speicherabbilddatei zu analysieren, starten Sie WinDbg mit der Befehlszeilenoption -z :
windbg -y SymbolPath -i ImagePath -z DumpFileName
Die Option -v (ausführlicher Modus) ist ebenfalls hilfreich. Eine vollständige Liste der Optionen finden Sie unter WinDbg-Befehlszeilenoptionen.
Wenn WinDbg bereits ausgeführt wird und sich im ruhenden Modus befindet, können Sie ein Absturzabbild öffnen, indem Sie die Datei | Öffnen Sie den Befehl im Menü "Absturzabbild ", oder drücken Sie die STRG+D-Tastenkombination. Wenn das Dialogfeld "Absturzabbild öffnen" angezeigt wird, geben Sie den vollständigen Pfad und namen der Absturzabbilddatei im Textfeld "Dateiname " ein, oder verwenden Sie das Dialogfeld, um den richtigen Pfad und Dateinamen auszuwählen. Wenn die richtige Datei ausgewählt wurde, wählen Sie "Öffnen" aus.
Sie können auch eine Dumpdatei öffnen, nachdem der Debugger ausgeführt wird, indem Sie den Befehl ".opendump(Open Dump File)" gefolgt von g (Go) verwenden.
Es ist möglich, mehrere Dumpdateien gleichzeitig zu debuggen. Dazu können mehrere -z-Schalter in die Befehlszeile eingeschlossen werden (gefolgt von einem anderen Dateinamen), oder indem Sie OPENDUMP verwenden, um zusätzliche Speicherabbilddateien als Debuggerziele hinzuzufügen. Informationen zum Steuern einer Mehrzielsitzung finden Sie unter Debuggen mehrerer Ziele.
Dumpdateien enden in der Regel mit der Erweiterung .dmp oder MDMP. Sie können Netzwerkfreigaben oder UNC-Dateinamen (Universal Naming Convention) für die Speicherabbilddatei verwenden.
Es ist auch üblich, dass Dumpdateien in eine CAB-Datei verpackt werden. Wenn Sie den Dateinamen (einschließlich der Erweiterung .cab) nach der Option -z oder als Argument für einen Opendump-Befehl angeben, kann der Debugger die Dumpdateien direkt aus der CAB-Datei lesen. Wenn jedoch mehrere Speicherabbilddateien in einem einzigen CAB gespeichert sind, kann der Debugger nur einen davon lesen. Der Debugger liest keine zusätzlichen Dateien aus dem CAB, auch wenn sie Symboldateien oder ausführbare Dateien waren, die der Speicherabbilddatei zugeordnet sind.
Analysieren einer vollständigen Benutzerabbilddatei
Die Analyse einer vollständigen Benutzerabbilddatei ähnelt der Analyse einer Livedebuggingsitzung. Ausführliche Informationen dazu, welche Befehle für das Debuggen von Dumpdateien im Benutzermodus verfügbar sind, finden Sie im Abschnitt "Debuggerbefehle".
Analysieren von Minidumpdateien
Die Analyse einer Minidumpdatei im Benutzermodus erfolgt auf die gleiche Weise wie ein vollständiges Benutzerabbild. Da jedoch viel weniger Arbeitsspeicher erhalten bleibt, sind Sie in den Aktionen, die Sie ausführen können, wesentlich eingeschränkter. Befehle, die versuchen, über die in der Minidumpdatei erhaltenen Speicher zuzugreifen, funktionieren nicht ordnungsgemäß.
Weitere Techniken
Techniken, die verwendet werden können, um bestimmte Arten von Informationen aus einer Dumpdatei zu lesen, finden Sie unter Extrahieren von Informationen aus einer Dumpdatei.
Analysieren einer Benutzermodusabbilddatei mit CDB
Speicherabbilddateien im Benutzermodus können von CDB analysiert werden. Die Prozessor- oder Windows-Version, auf der die Speicherabbilddatei erstellt wurde, muss nicht mit der Plattform übereinstimmen, auf der CDB ausgeführt wird.
Installieren von Symboldateien
Bevor Sie die Speicherabbilddatei analysieren, müssen Sie auf die Symboldateien für die Version von Windows zugreifen, die die Speicherabbilddatei generiert hat. Diese Dateien werden vom Debugger verwendet, den Sie zum Analysieren der Speicherabbilddatei verwenden möchten. Informationen zum Arbeiten mit dem Symbolserver finden Sie unter Microsoft Public Symbols.
Außerdem müssen Sie alle Symboldateien für den Benutzermodusprozess, entweder eine Anwendung oder einen Systemdienst, installieren, die dazu führte, dass das System die Speicherabbilddatei generierte. Wenn dieser Code von Ihnen geschrieben wurde, sollten die Symboldateien generiert worden sein, wenn der Code kompiliert und verknüpft wurde. Wenn es sich um einen Handelscode handelt, überprüfen Sie die Produkt-CD-ROM, oder wenden Sie sich an den Softwarehersteller, um diese speziellen Symboldateien zu ermitteln.
Starten des CDB
Um eine Speicherabbilddatei zu analysieren, starten Sie CDB mit der Befehlszeilenoption -z :
cdb -y SymbolPath -i ImagePath -z DumpFileName
Die Option -v (ausführlicher Modus) ist ebenfalls hilfreich. Eine vollständige Liste der Optionen finden Sie unter CDB-Befehlszeilenoptionen.
Sie können auch eine Dumpdatei öffnen, nachdem der Debugger ausgeführt wird, indem Sie den Befehl ".opendump(Open Dump File)" gefolgt von g (Go) verwenden. Auf diese Weise können Sie mehrere Abbilddateien gleichzeitig debuggen.
Es ist möglich, mehrere Dumpdateien gleichzeitig zu debuggen. Dazu können mehrere -z-Schalter in die Befehlszeile eingeschlossen werden (gefolgt von einem anderen Dateinamen), oder indem Sie OPENDUMP verwenden, um zusätzliche Speicherabbilddateien als Debuggerziele hinzuzufügen. Informationen zum Steuern einer Mehrzielsitzung finden Sie unter Debuggen mehrerer Ziele.
Dumpdateien enden in der Regel mit der Erweiterung .dmp oder MDMP. Sie können Netzwerkfreigaben oder UNC-Dateinamen (Universal Naming Convention) für die Speicherabbilddatei verwenden.
Es ist auch üblich, dass Dumpdateien in eine CAB-Datei verpackt werden. Wenn Sie den Dateinamen (einschließlich der Erweiterung .cab) nach der Option -z oder als Argument für einen Opendump-Befehl angeben, kann der Debugger die Dumpdateien direkt aus der CAB-Datei lesen. Wenn jedoch mehrere Speicherabbilddateien in einem einzigen CAB gespeichert sind, kann der Debugger nur einen davon lesen. Der Debugger liest keine zusätzlichen Dateien aus dem CAB, auch wenn es sich um Symboldateien oder ausführbare Dateien handelt, die der Speicherabbilddatei zugeordnet sind.
Analysieren einer vollständigen Benutzerabbilddatei
Die Analyse einer vollständigen Benutzerabbilddatei ähnelt der Analyse einer Livedebuggingsitzung. Ausführliche Informationen dazu, welche Befehle für das Debuggen von Dumpdateien im Benutzermodus verfügbar sind, finden Sie im Abschnitt "Debuggerbefehle".
Analysieren von Minidumpdateien
Die Analyse einer Minidumpdatei im Benutzermodus erfolgt auf die gleiche Weise wie ein vollständiges Benutzerabbild. Da jedoch viel weniger Arbeitsspeicher erhalten bleibt, sind Sie in den Aktionen, die Sie ausführen können, wesentlich eingeschränkter. Befehle, die versuchen, über die in der Minidumpdatei erhaltenen Speicher zuzugreifen, funktionieren nicht ordnungsgemäß.
Weitere Techniken
Techniken, die verwendet werden können, um bestimmte Arten von Informationen aus einer Dumpdatei zu lesen, finden Sie unter Extrahieren von Informationen aus einer Dumpdatei.