Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Debugging-Tools für Windows unterstützen lokales Kerneldebugging. Dies ist das Kernelmodusdebugging auf einem einzelnen Computer. Mit anderen Worten, der Debugger wird auf demselben Computer ausgeführt, der gedebuggt wird.
Einrichten des lokalen Kernel-Mode Debuggens
Informationen zum Einrichten des lokalen Kernelmodusdebuggings finden Sie unter Einrichten des lokalen Kernel-Mode Debuggens eines einzelnen Computers manuell.
Starten der Debugsitzung
Verwenden von WinDbg
Öffnen Sie WinDbg als Administrator. Wählen Sie im Menü Datei die Option Kerneldebugging. Öffnen Sie im Dialogfeld "Kerneldebugging" die Registerkarte " Lokal ". Wählen Sie "OK" aus.
Sie können eine Sitzung auch mit WinDbg starten, indem Sie ein Eingabeaufforderungsfenster als Administrator öffnen und den folgenden Befehl eingeben:
windbg -kl
Verwenden von KD
Öffnen Sie ein Eingabeaufforderungsfenster als Administrator, und geben Sie den folgenden Befehl ein:
kd -kl
Befehle, die nicht verfügbar sind
Nicht alle Befehle sind in einer lokalen Kerneldebuggingsitzung verfügbar. In der Regel können Sie keinen Befehl verwenden, der dazu führt, dass der Zielcomputer beendet wird, sogar in einem Moment, da Sie den Vorgang nicht fortsetzen können.
Insbesondere können Sie die folgenden Befehle nicht verwenden:
Ausführungsbefehle wie g (Go), p (Step), t (Trace), wt (Trace and Watch Data), tb (Trace to Next Branch), gh (Go with Exception Handled) und gn (Go with Exception Not Handled)
Befehle zum Herunterfahren und Abbilden von Dateien, z. B. .crash, .dump und .reboot
Haltepunktbefehle wie bp, bu, ba, bc, bd, be und bl
Registrieren von Anzeigebefehlen, z. B. r und Variationen
Stapelablaufverfolgungsbefehle, z. B. k und Varianten
Wenn Sie das lokale Kerneldebugging mit WinDbg durchführen, sind auch alle entsprechenden Menübefehle und Schaltflächen nicht verfügbar.
Verfügbare Befehle
Alle Speichereingabe- und Ausgabebefehle sind verfügbar. Sie können frei aus dem Benutzerspeicher und dem Kernelspeicher lesen. Sie können auch in den Arbeitsspeicher schreiben. Stellen Sie sicher, dass Sie nicht in den falschen Teil des Kernelspeichers schreiben, da sie Datenstrukturen beschädigt und häufig dazu führt, dass der Computer nicht mehr reagiert (d. a. Absturz).
Schwierigkeiten beim Ausführen des lokalen Kerneldebuggings
Das lokale Kerneldebugging ist ein sehr heikler Vorgang. Achten Sie darauf, dass Sie das System nicht beschädigt oder abstürzen.
Einer der schwierigsten Aspekte des lokalen Kerneldebuggings besteht darin, dass sich der Computerzustand ständig ändert. Der Speicher wird ein- und ausgelagert, der aktive Prozess ändert sich ständig, und die virtuellen Adresskontexte sind nicht konstant. Unter diesen Bedingungen können Sie jedoch dinge, die sich langsam ändern, z. B. bestimmte Gerätezustände, effektiv analysieren.
Kernelmodustreiber und das Windows-Betriebssystem senden häufig Nachrichten mithilfe von DbgPrint und verwandten Funktionen an den Kerneldebugger. Diese Meldungen werden während des lokalen Kerneldebuggings nicht automatisch angezeigt. Sie können sie mithilfe der Erweiterung !dbgprint anzeigen.
LiveKD
Das LiveKD-Tool simuliert das lokale Kerneldebugging. Dieses Tool erstellt eine "Momentaufnahme"-Speicherabbilddatei des Kernelspeichers, ohne den Kernel während der Erstellung dieser Aufnahme anzuhalten. (Daher zeigt die Momentaufnahme möglicherweise keinen einzelnen Sofortstatus des Computers an.)
LiveKD ist nicht Teil des Debugtools für Windows-Pakets. Sie können LiveKd von der Windows Sysinternals-Website herunterladen.