Beispiele für Prozessserver
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 Prozessserver mit DbgSrv auf \\BOX17 ein. Die Zielanwendung hat die Prozess-ID 122. Es wird das TCP-Protokoll mit der Socketportnummer 1025 ausgewählt. Der Server wird mit dem folgenden Befehl gestartet:
E:\Debugging Tools for Windows> dbgsrv -t tcp:port=1025
Auf dem anderen Computer startet der Techniker WinDbg als smarten Client mit dem folgenden Befehl:
G:\Debugging Tools> windbg -premote tcp:server=BOX17,port=1025 -p 122
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 "AnotherPipe". 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> dbgsrv -t npipe:pipe=AnotherPipe
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 Prozessservern 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 Prozessserver – der andere ist ein Debugserver, und das interessiert uns nicht. Daher muss AnotherPipe der richtige Name sein. Der Techniker gibt den folgenden Befehl ein, um den smarten Client zu starten:
G:\Debugging Tools> cdb -premote npipe:server=BOX17,pipe=AnotherPipe -v sol.exe
Ein komplizierteres Beispiel für die Verwendung eines Prozessservers finden Sie unter Symbole in der Mitte.