Freigeben über


Remotedebugging mit KD

Remotedebugging umfasst zwei Debugger, die an zwei verschiedenen Speicherorten ausgeführt werden. Der Debugger, der das Debuggen durchfü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.

Remotedebugging 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 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 normalerweise auf einem separaten Zielcomputer ausgeführt.

Das folgende Diagramm veranschaulicht eine Remotesitzung, bei der der Debuggingserver, der auf einem Hostcomputer ausgeführt wird, das Kernelmodusdebugging von Code ausführt, der auf einem separaten Zielcomputer ausgeführt wird.

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 Remotedebuggingverbindung verwenden können: TCP, NPIPE, SPIPE, SSL und COM-Port. Angenommen, Sie haben sich entschieden, TCP als Protokoll zu verwenden, und Sie haben sich entschieden, KD sowohl als Debugclient als auch als Debugserver zu verwenden. Sie können das folgende Verfahren verwenden, um eine Debugsitzung im Remote-Kernelmodus einzurichten:

  1. Öffnen Sie auf dem Hostcomputer KD, und richten Sie eine Kernelmodusdebuggingsitzung mit einem Zielcomputer ein. (Siehe Debugging Kernel-Mode mit KD ausführen.)

  2. Durch Drücken des CRTL-Umbruchs einbrechen.

  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, die der folgenden ähnlich ist.

    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=YourHostComputer

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

Zusatzinformation

Vollständige Informationen zum Starten von KD (und Einrichten des Remotedebuggings) in der Befehlszeile finden Sie unter KD-Command-Line-Optionen.