Remotedebuggen mit KD

Das Remotedebuggen umfasst zwei Debugger, die an zwei verschiedenen Speicherorten 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. Um eine Remotesitzung einzurichten, müssen Sie zuerst den Debugserver einrichten und dann den Debugclient aktivieren.

Remotedebuggen kann nützlich sein, wenn Sie eine andere Person in die Betrachtung eines Problems einbeziehen möchten, das Sie auf einem PC debuggen.

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 Prozess, der gerade gedebuggt wird, 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 Auf einem Hostcomputer ausgeführte Debugserver das Debuggen von Code, der auf einem separaten Zielcomputer ausgeführt wird, im Kernelmodus ausführt.

Diagramm zur Veranschaulichung von Remote-, Host- und Zielcomputern, die für das Debuggen im Kernelmodus verbunden sind

Es gibt mehrere Transportprotokolle, die Sie für eine Remotedebugverbindung verwenden können: TCP, NPIPE, SPIPE, SSL und COM-Port. Angenommen, Sie haben tcp als Protokoll verwendet und KD als Debugclient und Debugserver verwendet. Sie können das folgende Verfahren verwenden, um eine Debugsitzung im Remotekernmodus einzurichten:

  1. Öffnen Sie auf dem Hostcomputer KD, und richten Sie eine Debugsitzung im Kernelmodus mit einem Zielcomputer ein. (Weitere Informationen finden Sie unter Ausführen Kernel-Mode Debuggen mit KD.)

  2. Brechen Sie ein, indem Sie CRTL-Break drücken.

  3. Geben Sie den folgenden Befehl ein.

    .server tcp:port=5005

    Hinweis Die Portnummer 5005 ist beliebig. Die Portnummer ist Ihre Wahl.

  4. KD 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
    
  5. Öffnen Sie auf dem Remotecomputer ein Eingabeaufforderungsfenster, und geben Sie den folgenden Befehl ein.

    kd -remote tcp:Port=5005,Server=IhrHostComputer

    Dabei ist YourHostComputer der Name Ihres Hostcomputers, auf dem der Debugserver ausgeführt wird.

Zusätzliche Informationen

Vollständige Informationen zum Starten von KD (und zum Einrichten des Remotedebuggens) über die Befehlszeile finden Sie unter KD Command-Line Optionen.