Freigeben über


CAB-Dateien, die Auslagerungsdateien zusammen mit einem Speicherabbild enthalten

Eine Speicherabbilddatei kann zusammen mit Auslagerungsdateien in einer CAB-Datei (Cabinet) platziert werden. Wenn ein Windows-Debugger die Speicherabbilddatei analysiert, kann er die Auslagerungsdateien verwenden, um einen vollständigen Ansichtsspeicher zu präsentieren, einschließlich Arbeitsspeicher, der beim Erstellen der Dumpdatei ausgelagert wurde.

Angenommen, eine CAB-Datei mit dem Namen MyCab.cab enthält die folgenden Dateien:

Memory.dmp Cabmanifest.xml Pagefile.sys Angenommen, Cabmanifest.xml wie folgt aussieht:

<?xml version="1.0" encoding="UTF-8"?>
<WatsonPageFileManifest>
  <Pagefiles>
    <Pagefile Name="pagefile.sys"></Pagefile>
  </Pagefiles>
</WatsonPageFileManifest>

Sie können die CAB-Datei öffnen, indem Sie einen der folgenden Befehle eingeben:

  • windbg /z MyCab.cab
  • kd /z MyCab.cab

Der Debugger liest Cabmanifest.xml für eine Liste der Auslagerungsdateien, die in die Debugsitzung einbezogen werden sollen. In diesem Beispiel gibt es nur eine Auslagerungsdatei. Der Debugger konvertiert die Auslagerungsdatei in eine TIF-Datei (Target Information File), die er während der Debugsitzung verwenden kann. Da der Debugger Zugriff auf den TIF hat, kann er Arbeitsspeicher anzeigen, der zum Zeitpunkt der Erstellung der Dumpdatei ausgelagert wurde.

Unabhängig davon, wie viele Auslagerungsdateien sich in der CAB-Datei befinden, verwendet der Debugger nur die Auslagerungsdateien, die in Cabmanifest.xml aufgeführt sind. Hier sehen Sie ein Beispiel für eine CAB-Manifestdatei, die drei Auslagerungsdateien auflistet.

<?xml version="1.0" encoding="UTF-8"?>
<WatsonPageFileManifest>
  <Pagefiles>
    <Pagefile Name="pagefile1.sys"></Pagefile>
    <Pagefile Name="pagefile2.sys"></Pagefile>
    <Pagefile Name="swapfile.sys"></Pagefile>
  </Pagefiles>
</WatsonPageFileManifest>

In Cabmanifest.xml müssen die Auslagerungsdateien in der gleichen Reihenfolge aufgeführt werden, in der Windows sie verwendet. Das heißt, sie müssen in der Reihenfolge aufgeführt werden, in der sie in der Registrierung angezeigt werden.

Die Speicherabbilddatei, die Sie in die CAB-Datei einfügen, muss ein vollständiges Speicherabbild sein. Sie können Systemsteuerung verwenden, um Windows so zu konfigurieren, dass bei einem Absturz ein vollständiges Speicherabbild erstellt wird. Beispielsweise können Sie in Windows 8 zu Systemsteuerung > System- und Sicherheitssystem >> Advanced System Settings > Startup and Recovery wechseln. Alternativ zur Verwendung von Systemsteuerung können Sie den Wert dieses Registrierungseintrags auf 1 festlegen.

HKLM\SYSTEM\Currentcontrolset\Steuerung\CrashControl\CrashDumpEnabled

Ab Windows 8.1 können Sie Windows so konfigurieren, dass der Inhalt der Auslagerungsdateien beim Neustart von Windows beibehalten wird.

Wenn Sie angeben möchten, dass Auslagerungsdateien beim Neustart von Windows gespeichert werden sollen, legen Sie den Wert dieses Registrierungseintrags auf 1 fest.

HKLM\SYSTEM\Currentcontrolset\Steuerung\CrashControl\SavePageFileContents