Udostępnij przez


Przykłady serwera przetwarzania

Załóżmy, że jedna osoba uruchamia aplikację na komputerze o nazwie \\BOX17. Ta aplikacja ma problemy, ale technik debugowania znajduje się w innej lokacji.

Pierwsza osoba konfiguruje serwer procesu za pomocą DbgSrv na \\BOX17. Aplikacja docelowa ma identyfikator procesu 122. Wybrano protokół TCP z numerem portu gniazda 1025. Serwer jest uruchamiany przy użyciu następującego polecenia:

E:\Debugging Tools for Windows> dbgsrv -t tcp:port=1025 

Na innym komputerze technik uruchamia WinDbg jako inteligentnego klienta za pomocą następującego polecenia:

G:\Debugging Tools> windbg -premote tcp:server=BOX17,port=1025 -p 122 

Oto kolejny przykład. W takim przypadku wybrano protokół NPIPE, a usługa CDB jest używana zamiast WinDbg. Pierwszy użytkownik wybiera nazwę potoku. Może to być dowolny ciąg alfanumeryczny — w tym przykładzie "AnotherPipe". Pierwszy użytkownik otwiera okno wiersza polecenia z podwyższonym poziomem uprawnień (Uruchom jako administrator) i uruchamia serwer debugowania, wprowadzając następujące polecenie:

E:\Debugging Tools for Windows> dbgsrv -t npipe:pipe=AnotherPipe

Technik jest zalogowany na komputerze klienckim przy użyciu konta, które nie ma dostępu do komputera serwera. Jednak technik zna nazwę użytkownika i hasło dla konta, które ma dostęp do komputera serwera. Nazwa użytkownika tego konta to Contoso. Technik wprowadza następujące polecenie:

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

Po wyświetleniu monitu technik wprowadza hasło dla konta contoso.

Technik nie jest pewny, jaka nazwa została użyta dla nazwanej rury, więc wysyła zapytanie do BOX17 dla serwerów procesów.

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

Wyświetlane są dwie rury. Jednak tylko jeden jest serwerem przetwarzania — drugi to serwer debugowania i nie jesteśmy tym zainteresowani. Więc AnotherPipe musi być poprawną nazwą. Technik wprowadza następujące polecenie, aby uruchomić inteligentnego klienta:

G:\Debugging Tools> cdb -premote npipe:server=BOX17,pipe=AnotherPipe -v sol.exe

Aby uzyskać bardziej skomplikowany przykład użycia serwera przetwarzania, zobacz Symbole w środku.