Aktivieren eines Repeaters
Um die Wiederholerverbindung zu aktivieren, starten Sie normalerweise zuerst den Server, und starten Sie dann den Repeater, und starten Sie dann den Client.
Es ist auch möglich, den Repeater zuerst und dann den Server zu starten. Es sei denn, Sie verwenden den Clicon-Parameter , um eine Reverseverbindung herzustellen, muss der Client immer zuletzt gestartet werden.
Schritt 1: Starten des Servers
Der Server kann ein Debugserver, ein Prozessserver oder ein KD-Verbindungsserver sein. Sie beginnen dies wie gewohnt, mit der Ausnahme, dass die Transportprotokolleinstellungen verwendet werden, um eine Verbindung mit dem Repeater herzustellen, nicht mit dem Client. Ausführliche Informationen finden Sie unter Aktivieren eines Debugservers, Aktivieren eines Prozessservers oder Aktivieren eines KD-Verbindungsservers.
Wenn Sie beim Erstellen des Servers ein Kennwort verwenden, ist dieses Kennwort erforderlich, wenn der Client anfügt, aber nicht, wenn der Repeater erstellt wird.
Wenn Sie den ausgeblendeten Parameter verwenden, wird der Server wie gewohnt ausgeblendet. Der Repeater selbst ist immer ausgeblendet.
Schritt 2: Starten des Repeaters
Der Repeater, der in den Debugtools für Windows enthalten ist, wird als DbEngPrx (dbengprx.exe) bezeichnet.
DbEngPrx versteht die folgenden Transportprotokolle: named pipe (NPIPE), TCP und COM-Port.
Wenn Ihr Client und Server ssl-Protokoll (Secure Sockets Layer) verwenden, sollten Sie das TCP-Protokoll für den Repeater verwenden. Wenn Ihr Client und Server das Secure Pipe (SPIPE)-Protokoll verwenden, sollten Sie das NPIPE-Protokoll für den Repeater verwenden. Der Repeater übergibt alle empfangenen Daten – es interpretiert, verschlüsselt oder entschlüsselt keine Informationen. Die gesamte Verschlüsselung und Entschlüsselung erfolgt durch den Client und den Server.
Die Syntax für die DbEnPrx-Befehlszeile lautet wie folgt:
dbengprx [-p] -c ClientTransport -s ServerTransport
Die Parameter in den vorherigen Befehlen haben die folgenden möglichen Werte:
-p
Bewirkt, dass DbEngPrx auch nach dem Ablegen aller Verbindungen weiterhin vorhanden ist.
ClientTransport
Gibt die Protokolleinstellungen an, die beim Herstellen einer Verbindung mit dem Server verwendet werden sollen. Das Protokoll sollte übereinstimmen, das beim Erstellen des Servers verwendet wurde. Die Protokollsyntaxen sind wie folgt:
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]
Die Protokollparameter haben die folgenden Bedeutungen:
Server
Dies ist der Netzwerkname oder die IP-Adresse des Computers, auf dem der Server erstellt wurde. Die beiden anfänglichen Schrägstriche (\) sind optional.
pipe= PipeName
Wenn NPIPE- oder SPIPE-Protokoll verwendet wird, ist PipeName der Name, der der Pipe beim Erstellen des Servers zugewiesen wurde.
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 Server versucht, über eine Reverseverbindung eine Verbindung mit dem Repeater herzustellen. ClientTransport muss clicon verwenden, wenn und nur, wenn der Server Clicon verwendet. In den meisten Fällen wird der Repeater vor dem Server 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 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.
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.
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.
ServerTransport
Gibt die Protokolleinstellungen an, die verwendet werden, wenn der Client eine Verbindung mit dem Repeater herstellt. Die möglichen Protokollsyntaxen sind:
npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable]
tcp:port=Socket[,hidden][,password=Password][,IcfEnable]
tcp:port=Socket,clicon=Client[,password=Password]
com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password]
Die Protokollparameter haben die folgenden Bedeutungen:
pipe= PipeName
Wenn das NPIPE- oder SPIPE-Protokoll verwendet wird, ist PipeName eine Zeichenfolge, die als Name der Pipe dient. Jeder Pipename sollte einen eindeutigen Repeater identifizieren. Wenn Sie versuchen, einen Pipenamen wiederzuverwenden, wird eine Fehlermeldung angezeigt. PipeName darf keine Leerzeichen oder Anführungszeichen enthalten. PipeName kann einen numerischen Code im Stil von printf enthalten, z. B. %x oder %d. Der Repeater ersetzt dies durch die Prozess-ID von DbEngPrx. Ein zweiter solcher Code wird durch die Thread-ID von DbEngPrx ersetzt.
port= Steckdose
Wenn das TCP- oder SSL-Protokoll verwendet wird, ist Socket die Socketportnummer.
Es ist auch möglich, einen durch einen Doppelpunkt getrennten Portbereich anzugeben. DbEngPrx überprüft jeden Port in diesem Bereich, um festzustellen, ob er kostenlos ist. Wenn ein kostenloser Port gefunden wird und kein Fehler auftritt, wird der Repeater erstellt. Der Client muss den tatsächlichen Port angeben, der zum Herstellen einer Verbindung mit dem Repeater verwendet wird. Um den tatsächlichen Port zu ermitteln, suchen Sie nach dem Repeater; Wenn dieser Repeater angezeigt wird, folgt der Port zwei Nummern, die durch einen Doppelpunkt getrennt sind. Die erste Zahl wird als tatsächlicher Port verwendet; die zweite kann ignoriert werden. Wenn der Port zum Beispiel als Port=51:60 angegeben wurde und tatsächlich Port 53 verwendet wurde, wird in den Suchergebnissen „port=53:60“ angezeigt. (Wenn Sie den Clicon-Parameter zum Herstellen einer Reverseverbindung verwenden, kann der Client einen Bereich von Ports auf diese Weise angeben, während der Repeater den tatsächlich verwendeten Port angeben muss.)
clicon=Client
Wenn das TCP- oder SSL-Protokoll verwendet wird und der clicon-Parameter angegeben wird, wird eine umgekehrte Verbindung geöffnet. Dies bedeutet, dass der Repeater versucht, eine Verbindung mit dem Client herzustellen, anstatt dem Client das Initiieren des Kontakts zu erlauben. Dies kann hilfreich sein, wenn Sie über eine Firewall verfügen, die eine Verbindung in die übliche Richtung verhindert. Der Client gibt den Netzwerknamen oder die IP-Adresse des Computers an, auf dem der Client vorhanden ist oder erstellt wird. Die beiden anfänglichen Schrägstriche (\) sind optional.
Da der Repeater nach einem bestimmten Client sucht, können Sie nicht mehrere Clients mit dem Repeater verbinden, wenn Sie diese Methode verwenden. Wenn die Verbindung verweigert oder unterbrochen wird, müssen Sie den Repeater neu starten.
Wenn Clicon verwendet wird, empfiehlt es sich, den Client zu starten, bevor der Repeater erstellt wird, obwohl auch die übliche Reihenfolge (Repeater vor Client) zulässig ist.
port= COMPort
Wenn das 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. Sie können nicht denselben COM-Port im ClientTransport und serverTransport verwenden.
baud= BaudRate
Wenn das COM-Protokoll verwendet wird, gibt BaudRate die Baudrate an, mit der die Verbindung ausgeführt wird. Jede Baudrate, die von der Hardware unterstützt wird, ist zulässig. Wenn Sie sowohl das COM-Protokoll als auch den ServerTransport verwenden, geben Sie möglicherweise unterschiedliche Baudraten an, aber natürlich ist die langsamere Rate die Beschränkung, wie schnell der Client und der Server miteinander kommunizieren können.
channel= COMChannel
Wenn COM-Protokoll verwendet wird, gibt COMChannel den COM-Kanal an, der für die Kommunikation mit dem Client verwendet werden soll. Dies kann ein beliebiger Wert zwischen 0 und 254 sein. Sie können einen einzigen COM-Port für mehrere Verbindungen mit unterschiedlichen Kanalnummern verwenden. (Dies unterscheidet sich von der Verwendung eines COM-Ports für ein Debug-Kabel – in dieser Situation können Sie keine Kanäle innerhalb eines COM-Ports verwenden).
hidden
Verhindert, dass der Server angezeigt wird, wenn ein anderer Debugger alle aktiven Server anzeigt.
password= Passwort
Erfordert, dass ein Client das angegebene Kennwort angibt, um sich mit der Debugging-Sitzung zu verbinden. Das Kennwort kann eine beliebige alphanumerische Zeichenfolge sein.
IcfEnable
Bewirkt, dass der Debugger die erforderlichen Portverbindungen für die TCP- oder benannte Pipekommunikation aktiviert, wenn die Internetverbindungsfirewall aktiv ist. Standardmäßig deaktiviert die Internetverbindungsfirewall die von diesen Protokollen verwendeten Ports. Wenn IcfEnable mit einer TCP-Verbindung verwendet wird, veranlasst der Debugger Windows, den durch den Parameter Socket angegebenen Port zu öffnen. Wenn IcfEnable mit einer benannten Pipeverbindung verwendet wird, bewirkt der Debugger, dass Windows die Ports für benannte Pipes (Ports 139 und 445) öffnet. Der Debugger schließt diese Ports nicht, nachdem die Verbindung beendet wurde.
Schritt 3: Starten des Clients
Der Client sollte ein Debugclient oder ein smarter Client sein – je nachdem, was Ihrem Servertyp entspricht. Ausführliche Informationen finden Sie unter Aktivieren eines Debugclients, Aktivieren eines smarten Clients oder Aktivieren eines smarten Clients (Kernelmodus).
Wenn der Server die Verbindung ablehnt (z. B. wenn Sie ein falsches Kennwort angeben), wird der Repeater und der Client heruntergefahren. Sie müssen beide neu starten, um den Kontakt mit dem Server wiederherzustellen.