Absturz und Neustart des Zielcomputers

Wenn Sie kerneldebuggen, 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 Speicherabbilddatei im Kernelmodus, wenn Sie Absturzabbilder aktiviert haben. (Weitere Informationen zu diesen Dateien finden Sie unter Erstellen einer Kernel-Mode-Speicherabbilddatei.)

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

Wenn der Zielcomputer eine Absturzabbilddatei erstellen und dann neu starten soll, sollten Sie den Befehl .crash und anschließend den Befehl .reboot ausführen. Wenn Sie nur neu starten möchten, ist der Befehl .crash nicht erforderlich.

In den frühen Phasen des Startvorgangs geht die Verbindung zwischen dem Hostcomputer und dem Zielcomputer verloren. Dem Debugger stehen keine Informationen über den Zielcomputer zur Verfügung.

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. Durch diese Aktion werden alle Haltepunkte gespeichert.

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 wiederhergestellt, nachdem genügend Startvorgang abgeschlossen wurde. Symbole und Erweiterungen werden an diesem Punkt erneut geladen. Wenn Sie WinDbg ausführen, wird der Kernelmodusarbeitsbereich erneut geladen.

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

  • Wenn das erste Kernelmodul in den Arbeitsspeicher geladen wird

  • Wenn der Kernel initialisiert wird

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

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

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

  • Verwenden Sie die TastenkombinationEN STRG+K in KD, die TastenkombinationEN STRG+ALT+K in WinDbg und Debuggen | Kernelverbindung | Befehl "Cycle Initial Break " in WinDbg, um den Unterbrechungszustand zu ändern. Jedes Mal, wenn Sie diese Befehle verwenden, wechselt der Debugger zwischen drei Zuständen: keine automatische Unterbrechung, Unterbrechung bei Kernelinitialisierung und Unterbrechung beim ersten Laden des Kernelmoduls. Diese Methode kann nicht beide automatischen Haltepunkte gleichzeitig aktivieren.