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 zum Starten eines Debugclients: 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 für das Starten eines Debugclients hängt vom verwendeten Protokoll ab. Es gibt die folgenden 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 Schnittstelle zum Herstellen einer Verbindung mit einer Remotedebuggingsitzung verwenden zu können, muss WinDbg im ruhenden Modus sein . Sie muss entweder ohne Befehlszeilenparameter gestartet worden sein oder die vorherige Debugsitzung beendet haben. Wählen Sie die Datei | Stellen Sie eine Verbindung mit dem Menübefehl "Remotesitzung " her, oder drücken Sie STRG+R. Wenn das Dialogfeld "Verbindung mit Remotedebuggersitzung " 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 finden.
Die Parameter in den vorherigen Befehlen weisen die folgenden möglichen Werte auf:
Debugger
Dies muss nicht derselbe Debugger sein wie der vom Debugclient verwendete- WinDbg, KD und CDB sind für Remotedebugging über den Debugger austauschbar.
Server
Dies ist der Netzwerkname oder die IP-Adresse des Computers, auf dem der Debugserver erstellt wurde. Die beiden anfänglichen Schrägstriche (\) sind in der Befehlszeile optional, sind aber im Dialogfeld WinDbg nicht zulässig.
pipe= PipeName
Wenn NPIPE- oder SPIPE-Protokoll verwendet wird, ist PipeName der Name, der der Pipe beim Erstellen des Servers zugewiesen wurde.
Wenn Sie nicht bei dem Clientcomputer 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 " ist 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 mithilfe der Befehlszeilenoption -remote oder über die grafische WinDbg-Schnittstelle aktivieren.
Hinweis : Möglicherweise müssen Sie die Datei- und Druckerfreigabe auf dem Servercomputer aktivieren. Navigieren Sie in der Systemsteuerung zu Netzwerk und Internet > Netzwerk- und Freigabecenter> Erweiterte Freigabeeinstellungen. Wählen Sie Datei- und Druckerfreigabe aktivieren.
port= Steckdose
Wenn 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 Reverseverbindung eine Verbindung mit dem Client herzustellen. Der Client muss clicon verwenden, wenn und nur, wenn der Server Clicon verwendet. In den meisten Fällen wird der Debugclient vor dem Debugserver gestartet, wenn eine Reverseverbindung verwendet wird.
port= Aufführen
Wenn COM-Protokoll verwendet wird, gibt COMPort den zu verwendenden COM-Port an. Das Präfix „COM“ ist optional -- zum Beispiel sind sowohl „com2“ als auch „2“ zulässig.
baud= BaudRate
Wenn COM-Protokoll verwendet wird, sollte BaudRate mit der baudrate übereinstimmen, die beim Erstellen des Servers ausgewählt wurde.
channel= COMChannel
Wenn COM-Protokoll verwendet wird, sollte COMChannel mit der Kanalnummer übereinstimmen, die beim Erstellen des Servers ausgewählt wurde.
proto= Protokoll
Wenn SSL- oder SPIPE-Protokoll verwendet wird, sollte das Protokoll mit dem sicheren Protokoll übereinstimmen, das beim Erstellen des Servers verwendet wird.
Cert
Wenn SSL- oder SPIPE-Protokoll verwendet wird, sollten Sie den identischen Certuser=Cert- oder machuser= Cert-Parameter verwenden, der beim Erstellen des Servers verwendet wurde.
password= Passwort
Wenn beim Erstellen des Servers ein Kennwort verwendet wurde, muss das 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, gibt die Fehlermeldung "Fehler 0x80004005" an. Kennwörter müssen zwölf Zeichen oder weniger lang sein.
ipversion=6
(Nur Debugtools für Windows 6.6.07 und frühere Versionen) Erzwingt, dass der Debugger IP-Version 6 anstelle von Version 4 verwendet, wenn TCP zum Herstellen einer Internetverbindung verwendet wird. In Windows Vista und höheren Versionen versucht der Debugger, die IP-Standardversion 6 automatisch zu verwenden, wodurch diese Option unnötig ist.
Befehlszeilenoptionen zum Starten neuer Debugsitzungen (z . B. -p) können nicht vom Debugclient, sondern nur vom Server verwendet werden. Konfigurationsoptionen (z . B. -n) funktionieren entweder vom Client oder vom Server.