Freigeben über


Absturz und Neustart des Zielcomputers

Wenn Sie das Kerneldebugging ausführen, können Sie bewirken, dass der Zielcomputer nicht mehr reagiert (d. h . Absturz oder Fehlerüberprüfung), indem Sie den Befehl .crash (Systemabsturz erzwingen) ausgeben. Dieser Befehl bewirkt sofort, dass der Zielcomputer nicht mehr reagiert. Der Debugger schreibt eine Kernelmodus-Speicherabbilddatei, wenn Sie Absturzabbilder aktiviert haben. (Weitere Informationen zu diesen Dateien finden Sie unter Erstellen einer Kernelmodus-Dumpdatei.)

Um den Zielcomputer neu zu starten, verwenden Sie den Befehl .reboot (Reboot Target Computer).

Wenn der Zielcomputer eine Absturzabbilddatei erstellen und dann neu starten soll, sollten Sie den CRASH-Befehl und dann den BEFEHL ".reboot " ausgeben. Wenn Sie nur neu starten möchten, ist der CRASH-Befehl nicht erforderlich.

In den frühen Phasen des Startvorgangs geht die Verbindung zwischen dem Hostcomputer und dem Zielcomputer verloren. Für den Debugger sind keine Informationen über den Zielcomputer verfügbar.

Nachdem die Verbindung unterbrochen wurde, schließt der Debugger alle Symboldateien und entlädt alle Debuggererweiterungen. An diesem Punkt gehen alle Haltepunkte verloren, wenn Sie KD oder CDB ausführen. In WinDbg können Sie den aktuellen Arbeitsbereich speichern. Diese Aktion speichert alle Haltepunkte.

Wenn Sie die Debugsitzung an diesem Punkt beenden möchten, verwenden Sie den Befehl STRG+B (in KD) oder klicken Sie im Menü "Datei" (in WinDbg) auf "Beenden".

Wenn Sie den Debugger nicht beenden, wird die Verbindung nach Abschluss des Startvorgangs erneut hergestellt. Symbole und Erweiterungen werden an diesem Punkt neu geladen. Wenn Sie WinDbg ausführen, wird der Kernelmodusarbeitsbereich neu geladen.

Sie können den Debugger anweisen, den Zielcomputer während des Neustartvorgangs zu zwei möglichen Zeiten automatisch in den Zielcomputer aufzubrechen:

  • Wenn das erste Kernelmodul in den Arbeitsspeicher geladen wird

  • Beim Initialisieren des Kernels

Verwenden Sie die Befehlszeilenoption -d, um einen automatischen Haltepunkt festzulegen, wenn das erste Kernelmodul geladen wird.

Sie können den Unterbrechungszustand auch ändern, nachdem der Debugger ausgeführt wurde:

  • Steuern Sie die Anfänglichen Modullade- und Kernelinitialisierungs-Haltepunkte wie alle Ausnahmen und Ereignisse. Sie können in den Debugger aufteilen, wenn diese Ereignisse auftreten, oder sie ignorieren. Sie können auch einen angegebenen Befehl automatisch ausführen lassen, wenn diese Haltepunkte getroffen werden. Weitere Informationen finden Sie unter Steuern von Ausnahmen und Ereignissen.

  • Verwenden Sie die TASTENKOMBINATION STRG+K in KD, die TASTENKOMBINATION STRG+ALT+K in WinDbg und das Debuggen | Kernelverbindung | Befehl 'Anfänglicher Umbruch durchlaufen' in WinDbg, um den Unterbrechungszustand zu ändern. Jedes Mal, wenn Sie diese Befehle verwenden, wechselt der Debugger zwischen drei Zuständen: kein automatischer Umbruch, Unterbrechung bei der Kernelinitialisierung und Unterbrechung beim ersten Laden des Kernelmoduls. Diese Methode kann beide automatischen Haltepunkte nicht gleichzeitig aktivieren.