Aktivieren eines Debugclients

Nachdem der Debugserver aktiviert wurde, können Sie einen Debugclient auf einem anderen Computer starten und eine Verbindung mit der Debugsitzung herstellen.

Es gibt zwei Möglichkeiten, einen Debugclient zu starten: mithilfe der Befehlszeilenoption -remote oder mithilfe der grafischen WinDbg-Benutzeroberfläche.

Das Protokoll des Clients muss mit dem Protokoll des Servers übereinstimmen. Die allgemeine Syntax zum Starten eines Debugclients hängt vom verwendeten Protokoll ab. Es gibt folgende Optionen:

Debugger -remote npipe:server=Server,pipe=PipeName[,password=Password] 

Debugger -remote tcp:server=Server,port=Socket[,password=Password][,ipversion=6] 

Debugger -remote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6] 

Debugger -remote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password] 

Debugger -remote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password] 

Debugger -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password] 

Debugger -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password] 

Um die grafische Benutzeroberfläche zum Herstellen einer Verbindung mit einer Remotedebugsitzung zu verwenden, muss sich WinDbg im ruhenden Modus befinden. Es muss entweder ohne Befehlszeilenparameter gestartet oder die vorherige Debugsitzung beendet worden sein. Wählen Sie die Datei | Menübefehl "Verbindung mit Remotesitzung herstellen ", oder drücken Sie die Tastenkombination STRG+R. Wenn das Dialogfeld Verbindung mit Remotedebuggersitzung herstellen angezeigt wird, geben Sie eine der folgenden Zeichenfolgen in das Textfeld Verbindungszeichenfolge ein:

npipe:server=Server,pipe=PipeName[,password=Password] 

tcp:server=Server,port=Socket[,password=Password][,ipversion=6] 

tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6] 

com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password] 

spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password] 

ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password] 

ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password] 

Alternativ können Sie die Schaltfläche Durchsuchen verwenden, um aktive Debugserver zu suchen.

Die Parameter in den vorherigen Befehlen weisen die folgenden möglichen Werte auf:

Debugger
Dies muss nicht derselbe Debugger sein, der vom Debugclient verwendet wird. WinDbg, KD und CDB können alle zum Remotedebuggen über den Debugger ausgetauscht werden.

Server
Dies ist der Netzwerkname oder die IP-Adresse des Computers, auf dem der Debugserver erstellt wurde. Die beiden anfänglichen umgekehrten Schrägstriche (\) sind in der Befehlszeile optional, im Dialogfeld WinDbg jedoch nicht zulässig.

pipe=PipeName
Wenn das NPIPE- oder SPIPE-Protokoll verwendet wird, ist PipeName der Name, der der Pipe beim Erstellen des Servers zugewiesen wurde.

Wenn Sie nicht mit einem Konto angemeldet sind, das Zugriff auf den Servercomputer hat, müssen Sie einen Benutzernamen und ein Kennwort angeben. Geben Sie auf dem Clientcomputer in einem Eingabeaufforderungsfenster den folgenden Befehl ein.

net use \\Server\ipc$ /user:UserName

Dabei ist Server der Name des Servercomputers und UserName der Name eines Kontos, das Zugriff auf den Servercomputer hat.

Wenn Sie dazu aufgefordert werden, geben Sie das Kennwort für UserName ein.

Nachdem dieser Befehl erfolgreich ausgeführt wurde, können Sie einen Debugclient aktivieren, indem Sie die Befehlszeilenoption -remote oder die grafische WinDbg-Benutzeroberfläche verwenden.

Hinweis Möglicherweise müssen Sie die Datei- und Druckerfreigabe auf dem Servercomputer aktivieren. Navigieren Sie in Systemsteuerung zu Netzwerk- und Internetnetzwerk > und Freigabecenter> Erweiterte Freigabeeinstellungen. Wählen Sie Datei- und Druckerfreigabe aktivieren aus.

port=Socket
Wenn das TCP- oder SSL-Protokoll verwendet wird, ist Socket die gleiche Socketportnummer, die beim Erstellen des Servers verwendet wurde.

clicon
Gibt an, dass der Debugserver versucht, über eine umgekehrte Verbindung eine Verbindung mit dem Client herzustellen. Der Client muss clicon nur verwenden, wenn der Server clicon verwendet. In den meisten Fällen wird der Debugclient vor dem Debugserver gestartet, wenn eine umgekehrte Verbindung verwendet wird.

port=COMPort
Wenn das COM-Protokoll verwendet wird, gibt COMPort den zu verwendenden COM-Port an. Das Präfix "COM" ist optional. Beispielsweise sind sowohl "com2" als auch "2" akzeptabel.

baud=BaudRate
Wenn das COM-Protokoll verwendet wird, sollte BaudRate mit der baud-Rate übereinstimmen, die beim Erstellen des Servers ausgewählt wurde.

channel=COMChannel
Wenn das COM-Protokoll verwendet wird, sollte COMChannel mit der Kanalnummer übereinstimmen, die beim Erstellen des Servers ausgewählt wurde.

proto=Protokoll
Wenn das SSL- oder SPIPE-Protokoll verwendet wird, sollte das Protokoll mit dem sicheren Protokoll übereinstimmen, das beim Erstellen des Servers verwendet wurde.

Cert
Wenn das SSL- oder SPIPE-Protokoll verwendet wird, sollten Sie den identischen Parameter certuser=Cert oder machuser=Cert verwenden, der beim Erstellen des Servers verwendet wurde.

password=Password
Wenn beim Erstellen des Servers ein Kennwort verwendet wurde, muss kennwort angegeben werden, um den Debugclient zu erstellen. Es muss mit dem ursprünglichen Kennwort übereinstimmen. Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden. Wenn das falsche Kennwort angegeben wird, wird in der Fehlermeldung "Fehler 0x80004005" angegeben. Kennwörter müssen zwölf Zeichen oder weniger lang sein.

ipversion=6
(Debugtools für Windows 6.6.07 und früher) Erzwingt, dass der Debugger ip-Version 6 anstelle von Version 4 verwendet, wenn TCP zum Herstellen einer Verbindung mit dem Internet verwendet wird. In Windows Vista und höheren Versionen versucht der Debugger, die IP-Version 6 automatisch standardmäßig zu verwenden, sodass diese Option nicht erforderlich ist.

Befehlszeilenoptionen, die zum Starten neuer Debugsitzungen (z. B. -p) verwendet werden, können nicht vom Debugclient, sondern nur vom Server verwendet werden. Konfigurationsoptionen (z. B. -n) funktionieren entweder vom Client oder vom Server aus.