Freigeben über


Auswählen der besten Remotedebuggingmethode

Es gibt zwei primäre Methoden zum Ausführen des Remotedebuggings sowie mehrere zusätzliche Methoden und eine große Anzahl von Kombinationsmethoden.

Hier sind einige Tipps, mit denen Sie die beste Technik auswählen können.

  • Remote-Debugging über den Debugger ist in der Regel die beste Methode. Wenn Sie einfach einen Server und einen Client haben und sie sich frei miteinander verbinden können, werden dieselben Debugger-Binärdateien sowohl auf dem Client als auch auf dem Server installiert, und der Debuggingtechniker, der den Client betreibt, kann mit jemanden im Raum mit dem Server sprechen, dies ist die empfohlene Methode.

    Der Client und der Server können eine beliebige Version von Windows ausführen. Sie müssen nicht die gleiche Version wie die anderen verwenden.

    Wenn der Client nicht in der Lage ist, eine Verbindungsanfrage an den Server zu senden, der Server jedoch eine Anfrage an den Client senden kann, können Sie die Ferndiagnose über den Debugger mit einer reverse connection durch die Verwendung der clicon Der Parameter.

  • Fern-Debugging über remote.exe wird verwendet, um ein Eingabeaufforderungsfenster fernzusteuern. Es kann verwendet werden, um KD, CDB oder NTSD remote zu steuern. Sie kann nicht mit WinDbg verwendet werden.

    Wenn Ihr Client keine Kopien der Debugger-Binärdateien enthält, müssen Sie die remote.exe-Methode verwenden.

  • Ein Prozessbegleiter oder eine KD-Verbindungsserver kann verwendet werden, wenn der Debugging-Techniker nicht in der Lage ist, mit jemandem in dem Raum zu sprechen, in dem sich der Server befindet. Die gesamte eigentliche Debugging-Arbeit wird vom Client erledigt (genannt der Smart-Client); Damit entfällt die Notwendigkeit, dass eine zweite Person am Server selbst anwesend sein muss.

    Prozessserver werden für das Debuggen im Benutzermodus verwendet; KD-Verbindungsserver werden für das Debuggen im Kernelmodus verwendet. Abgesehen von dieser Unterscheidung verhalten sie sich auf ähnliche Weise.

    Diese Methode ist auch hilfreich, wenn der Computer, auf dem der Server ausgeführt wird, keine schweren Prozesslasten verarbeiten kann oder wenn der Techniker, der den Client ausführt, Zugriff auf Symboldateien oder Quelldateien hat, die vertraulich sind und nicht vom Server aufgerufen werden können. Diese Methode ist jedoch nicht so schnell oder effizient wie das Remotedebugging über den Debugger. Diese Methode kann nicht für das Debuggen von Dumpdateien verwendet werden.

    Ausführliche Informationen finden Sie unter Prozessserver (Benutzermodus) und KD-Verbindungsserver (Kernelmodus).

  • Ein Repeater- ist ein einfacher Proxyserver, der Daten zwischen zwei Computern weitergibt. Sie können einen Repeater zwischen dem Client und dem Server hinzufügen, wenn Sie das Remotedebugging über den Debugger ausführen oder einen Prozessserver verwenden.

    Die Verwendung eines Repeaters ist möglicherweise erforderlich, wenn Ihr Client und Ihr Server nicht direkt miteinander kommunizieren können, aber jeweils auf einen externen Computer zugreifen können. Sie können auch Reverse-Verbindungen mit Repeatern verwenden. Es ist sogar möglich, zwei Repeater hintereinander zu verwenden, aber das ist selten notwendig.

    Siehe Repeater für Details.

  • Es ist auch möglich, CDB (oder NTSD) über den Kerneldebugger zu steuern. Dies ist eine weitere Form des Remotedebuggings. Details finden Sie unter Steuern des Benutzermodusdebuggers aus dem Kerneldebugger .

Variationen zu all diesen Methoden sind möglich.

Es ist möglich, mehrere Computer zusammen zu verketten, um mehr als eine Transportmethode zu nutzen. Sie können komplizierte Transportsequenzen erstellen, die berücksichtigen, wo sich der Techniker befindet, wo sich die Symbole befinden, und ob Firewalls Verbindungen in bestimmten Richtungen verhindern. Einige Beispiele finden Sie unter fortgeschrittene Remote-Debugging-Szenarien.

Sie können sogar Remotedebugging auf einem einzelnen Computer ausführen. Es kann z. B. hilfreich sein, einen Prozessserver mit niedriger Berechtigung zu starten und dann eine Verbindung mit einem smarten Client mit hoher Berechtigung herzustellen.

Wichtig

Bei der Verwendung des Remotedebuggings gibt es wichtige Sicherheitsaspekte. Weitere Informationen, einschließlich Informationen zum Aktivieren des sicheren Modus, finden Sie unter Sicherheit beim Remotedebugging und Sicherheitsüberlegungen für Windows-Debuggingtools.