Freigeben über


Aktivieren eines intelligenten Clients (Kernelmodus)

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

Es gibt zwei Möglichkeiten, einen intelligenten Client zu starten: durch Starten von KD oder WinDbg mit dem Kernelprotokoll kdsrv oder mithilfe der grafischen WinDbg-Schnittstelle.

Sie müssen das vom KD-Verbindungsserver verwendete Remoteübertragungsprotokoll angeben. Sie können auch das Protokoll für die tatsächliche Kernelverbindung zwischen dem KD-Verbindungsserver und dem Zielcomputer angeben, oder Sie können die Standardeinstellung verwenden.

Die allgemeine Syntax für das Starten eines smarten Clients hängt vom verwendeten Protokoll ab. Es gibt die folgenden Optionen:

Debugger -k kdsrv:server=@{npipe:server=Server,pipe=PipeName[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{tcp:server=Server,port=Socket[,password=Password][,ipversion=6]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]},trans=@{ConnectType} [Options]

Um die grafische Schnittstelle zum Herstellen einer Verbindung mit einem KD-Verbindungsserver 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 | 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 KD-Verbindungsserver zu finden.

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

Debugger
Dies kann KD oder WinDbg sein.

Server
Dies ist der Netzwerkname oder die IP-Adresse des Computers, auf dem der KD-Verbindungsserver 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 KD-Verbindungsservers 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 smarten Client mithilfe von -kdsrv oder mithilfe der grafischen Benutzeroberfläche von WinDbg aktivieren.

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

clicon
Gibt an, dass der KD-Verbindungsserver versucht, eine Verbindung mit dem smarten Client über eine Reverseverbindung herzustellen. Der Client muss clicon verwenden, wenn und nur, wenn der Server Clicon verwendet. In den meisten Fällen wird der Smart Client vor dem KD-Verbindungsserver gestartet, wenn eine umgekehrte Verbindung 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 KD-Verbindungsservers ausgewählt wurde.

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

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

password= Passwort
Wenn beim Erstellen des KD-Verbindungsservers 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.

trans=@{ ConnectType }
Teilt dem Debugger mit, wie eine Verbindung mit dem Ziel hergestellt werden soll. Die folgenden Kernelverbindungsprotokolle sind zulässig:

com:port=ComPort,baud=BaudRate 
usb2:targetname=String 
com:pipe,port=\\VMHost\pipe\PipeName[,resets=0][,reconnect]
com:modem 

Informationen zu diesen Protokollen finden Sie unter Getting Set Up for Debugging. Sie können alle Parameter für diese Protokolle weglassen , z. B. trans=@{com:} -- und der Debugger verwendet standardmäßig die Werte, die von den Umgebungsvariablen auf dem Computer angegeben werden, auf dem KdSrv ausgeführt wird.

Optionen
Zusätzliche Kommandozeilenparameter können hier platziert werden. Eine vollständige Liste finden Sie unter Befehlszeilenoptionen.

Da der KD-Verbindungsserver 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 Kerneldebugger auf dem Computer starten, auf dem KdSrv ausgeführt wird. Die Ausnahme ist jede Option, die einen Pfad oder Dateinamen angibt, wird als Pfad auf dem Computer verwendet, auf dem der smarte Client ausgeführt wird.