Aktivieren eines smarten Clients

Nachdem der DbgSrv-Prozessserver aktiviert wurde, können Sie einen intelligenten Client auf einem anderen Computer erstellen und eine Debugsitzung starten.

Es gibt zwei Möglichkeiten zum Starten eines intelligenten Clients: durch Starten von CDB oder WinDbg mit der Befehlszeilenoption "-premote" oder mithilfe der grafischen Benutzeroberfläche von WinDbg.

Das Protokoll des SmartClients muss mit dem Protokoll des Prozessservers übereinstimmen. Die allgemeine Syntax für das Starten eines smarten Clients hängt vom verwendeten Protokoll ab. Es gibt die folgenden Optionen:

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

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

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

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

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

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

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

Um die grafische Schnittstelle zum Herstellen einer Verbindung mit einem Prozessserver zu verwenden, muss WinDbg im ruhenden Modus sein – entweder ohne Befehlszeilenparameter gestartet worden sein oder die vorherige Debugsitzung beendet haben muss. Wählen Sie die Datei | Herstellen einer Verbindung mit remote Stub-Menübefehl . Wenn das Dialogfeld "Verbindung mit Remote-Stubserver 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 Prozessserver zu finden.

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

Debugger
Dies kann CDB oder WinDbg sein.

Server
Dies ist der Netzwerkname oder die IP-Adresse des Computers, auf dem der Prozessserver 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 Prozessservers 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 intelligenten Client mithilfe der Befehlszeilenoption "-premote " oder mithilfe der grafischen Benutzeroberfläche von WinDbg 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 Prozessservers verwendet wurde.

clicon
Gibt an, dass der Prozessserver versucht, über eine Reverseverbindung eine Verbindung mit dem Smart Client herzustellen. Der Client muss clicon verwenden, wenn und nur, wenn der Server Clicon verwendet. In den meisten Fällen wird der Intelligente Client vor dem Prozessserver gestartet, wenn eine Reverseverbindung verwendet wird.

port= COMPort
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 Prozessservers ausgewählt wurde.

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

proto= Protokoll
Wenn SSL- oder SPIPE-Protokoll verwendet wird, sollte das Protokoll mit dem sicheren Protokoll übereinstimmen, das beim Erstellen des Prozessservers 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 Prozessservers verwendet wurde.

password= Passwort
Wenn beim Erstellen des Prozessservers ein Kennwort verwendet wurde, muss das Kennwort angegeben werden, um den smarten Client 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.

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.

Optionen
Zusätzliche Kommandozeilenparameter können hier platziert werden. Eine vollständige Liste finden Sie unter Befehlszeilenoptionen. Wenn Sie CDB verwenden, muss dies den Prozess angeben, den Sie debuggen möchten. Wenn Sie WinDbg verwenden, können Sie den Prozess in der Befehlszeile oder über die grafische Benutzeroberfläche angeben.

Da der Prozessserver einfach als Gateway für den smarten Client fungiert, sind die zusätzlichen Optionen identisch mit denen, die Sie verwenden würden, wenn Sie einen Benutzermodusdebugger auf demselben Computer wie die Zielanwendung starten würden.

Wenn Sie die Option "-premote" mit ".attach to Process" oder ".create" (Create Process) verwenden, sind die Parameter identisch mit den oben aufgeführten Parametern.

Problembehandlung

Wenn diese Meldung angezeigt wird: Der Client verwendet nicht dieselbe Version des Remotingprotokolls wie der Server , der angibt, dass die Version von DbgSrv, mit der Sie eine Verbindung herstellen möchten, eine andere Protokollversion als die Version von WinDbg verwendet.

Es ist ungewöhnlich, dass Protokolländerungen vorgenommen werden. Stellen Sie in diesem Fall sicher, dass Sie die übereinstimmenden Versionen der neuesten verfügbaren Version von DbgSrv und WinDbg (Classic) oder WinDbg verwenden. Informationen zum Herunterladen der neuesten Version finden Sie unter Debugtools für Windows.