Remotedebuggen mit WinDbg
Remotedebuggen umfasst zwei Debugger, die an zwei verschiedenen Standorten ausgeführt werden. Der Debugger, der das Debuggen ausführt, wird als Debugserver bezeichnet. Der zweite Debugger, der als Debugclient bezeichnet wird, steuert die Debugsitzung von einem Remotestandort aus. Zum Einrichten einer Remotesitzung müssen Sie zuerst den Debugserver einrichten und dann den Debugclient aktivieren.
Der Code, der gerade gedebuggt wird, kann auf demselben Computer ausgeführt werden, auf dem der Debugserver ausgeführt wird, oder er kann auf einem separaten Computer ausgeführt werden. Wenn der Debugserver das Debuggen im Benutzermodus ausführt, kann der zu debuggende Prozess auf demselben Computer wie der Debugserver ausgeführt werden. Wenn der Debugserver das Debuggen im Kernelmodus ausführt, wird der zu debuggende Code in der Regel auf einem separaten Zielcomputer ausgeführt.
Das folgende Diagramm veranschaulicht eine Remotesitzung, bei der der Debugserver, der auf einem Hostcomputer ausgeführt wird, das Debuggen von Code im Kernelmodus ausführt, der auf einem separaten Zielcomputer ausgeführt wird.
Es gibt mehrere Transportprotokolle, die Sie für eine Remotedebuggingverbindung verwenden können: TCP, NPIPE, SPIPE, SSL und COM-Port. Angenommen, Sie haben sich für die Verwendung von TCP als Protokoll entschieden und WinDbg als Debugclient und Debugserver verwendet. Sie können das folgende Verfahren verwenden, um eine Remote-Kernelmodus-Debugsitzung einzurichten:
Öffnen Sie auf dem Hostcomputer WinDbg, und richten Sie eine Debugsitzung im Kernelmodus mit einem Zielcomputer ein. (Siehe Live Kernel-Mode Debuggen mithilfe von WinDbg (Classic).)
Wechseln Sie ein, indem Sie im Menü Debuggen die Option Umbruch auswählen oder strg-umbruch drücken.
Geben Sie im Debuggerbefehlsfenster den folgenden Befehl ein.
.server tcp:port=5005
Hinweis Die Portnummer 5005 ist beliebig. Die Portnummer ist Ihre Wahl.
WinDbg antwortet mit einer Ausgabe ähnlich der folgenden.
Server started. Client can connect with any of these command lines 0: <debugger> -remote tcp:Port=5005,Server=YourHostComputer
Öffnen Sie auf dem Remotecomputer WinDbg, und wählen Sie im Menü Datei die Option Mit Remotesitzung verbinden aus.
Geben Sie unter Verbindungszeichenfolge die folgende Zeichenfolge ein.
tcp:Port=5005,Server=YourHostComputer
Wobei YourHostComputer der Name Ihres Hostcomputers ist, auf dem der Debugserver ausgeführt wird.
Klicken Sie auf OK.
Verwenden der Befehlszeile
Alternativ zur im vorherigen Abschnitt beschriebenen Prozedur können Sie eine Remotedebuggingsitzung über die Befehlszeile einrichten. Angenommen, Sie sind für die Einrichtung einer Debugsitzung im Kernelmodus zwischen einem Hostcomputer und einem Zielcomputer über ein 1394-Kabel auf Kanal 32 eingerichtet. Sie können das folgende Verfahren verwenden, um eine Remotedebuggingsitzung einzurichten:
Geben Sie auf dem Hostcomputer den folgenden Befehl in ein Eingabeaufforderungsfenster ein.
windbg -server tcp:port=5005 -k 1394:channel=32
Geben Sie auf dem Remotecomputer den folgenden Befehl in ein Eingabeaufforderungsfenster ein.
windbg -remote tcp:Port=5005,Server=YourHostComputer
Wobei YourHostComputer der Name Ihres Hostcomputers ist, auf dem der Debugserver ausgeführt wird.
Weitere Informationen
Es gibt viele Andere Möglichkeiten zum Einrichten des Remotedebuggings als die in diesem Thema gezeigten. Vollständige Informationen zum Einrichten eines Debugservers im WinDbg-Debuggerbefehlsfenster finden Sie unter .server (Erstellen eines Debugservers).. Vollständige Informationen zum Starten von WinDbg (und zum Einrichten von Remotedebugging) über die Befehlszeile finden Sie unter WinDbg Command-Line-Optionen.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für