Client- und Serverbeispiele

Angenommen, eine Person führt eine Anwendung auf einem Computer namens \\BOX17 aus. Diese Anwendung hat Probleme, aber der Debugtechniker befindet sich an einem anderen Standort.

Die erste Person richtet einen Debugserver mit CDB auf \\BOX17 ein. Die Zielanwendung hat die Prozess-ID 122. Es wird das TCP-Protokoll mit der Socketportnummer 1025 ausgewählt. Der Server wird gestartet, indem Sie den folgenden Befehl in ein Eingabeaufforderungsfenster mit erhöhten Rechten eingeben (Als Administrator ausführen):

E:\Debugging Tools for Windows> cdb -server tcp:port=1025 -p 122

Auf dem anderen Computer entscheidet sich der Techniker, WinDbg als Debugclient zu verwenden. Es kann mit dem folgenden Befehl gestartet werden:

G:\Debugging Tools> windbg -remote tcp:server=BOX17,port=1025

Hier ist ein weiteres Beispiel angegeben. In diesem Fall wird das NPIPE-Protokoll ausgewählt, und anstelle von WinDbg wird CDB verwendet. Der erste Benutzer wählt einen Pipenamen aus. Dies kann eine beliebige alphanumerische Zeichenfolge sein– in diesem Beispiel "MainPipe". Der erste Benutzer öffnet ein Eingabeaufforderungsfenster mit erhöhten Rechten (Als Administrator ausführen) und startet einen Debugserver, indem er diesen Befehl eingibt:

E:\Debugging Tools for Windows> cdb -server npipe:pipe=MainPipe -v winmine.exe 

Der Techniker ist auf dem Clientcomputer mit einem Konto angemeldet, das keinen Zugriff auf den Servercomputer hat. Der Techniker kennt jedoch den Benutzernamen und das Kennwort für ein Konto, das Zugriff auf den Servercomputer hat. Der Benutzername für dieses Konto lautet Contoso. Der Techniker gibt den folgenden Befehl ein:

net use \\BOX17\ipc$ /user:Contoso

Wenn Sie dazu aufgefordert werden, gibt der Techniker das Kennwort für das Contoso-Konto ein.

Der Techniker ist nicht sicher, welcher Name für die Named Pipe verwendet wurde, daher fragt er BOX17 nach verfügbaren Debugservern ab.

G:\Debugging Tools> cdb -QR \\BOX17
Servers on \\BOX17:
Debugger Server - npipe:Pipe=MainPipe
Remote Process Server - npipe:Pipe=AnotherPipe

Zwei Pipes werden angezeigt. Allerdings ist nur einer ein Debugserver – der andere ist ein Prozessserver, und das interessiert uns nicht. Daher muss MainPipe der richtige Name sein. Der Techniker verwendet den folgenden Befehl, um den Debugclient zu starten:

G:\Debugging Tools> cdb -remote npipe:server=BOX17,pipe=MyPipe 

Verwenden eines sicheren Servers

Hier sehen Sie ein Beispiel für einen sicheren Server. Dieser Server verwendet secure sockets layer mit einem S-Channel-Protokoll von TLS1. Der Debugger sucht im Computerspeicher nach dem Zertifikat. Das Zertifikat wird durch den hexadezimalen Fingerabdruck angegeben.

D:\> cdb -server "ssl:proto=tls1,machuser=ab 38 f7 ae 13 20 ac da 05 14 65 60 30 83 7b 83 09 2c d2 34,port=1234" notepad.exe