Aktywowanie klienta debugowania
Po aktywowaniu serwera debugowania można uruchomić klienta debugowania na innym komputerze i nawiązać połączenie z sesją debugowania.
Istnieją dwa sposoby uruchamiania klienta debugowania: przy użyciu opcji wiersza polecenia -remote lub przy użyciu interfejsu graficznego WinDbg.
Protokół klienta musi być zgodny z protokołem serwera. Ogólna składnia uruchamiania klienta debugowania zależy od używanego protokołu. Istnieją następujące opcje:
zalecane metody połączenia z dodatkowymi zabezpieczeń
Debugger -remote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]
Debugger -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]
Debugger -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]
Niezabezpieczone metody połączenia
Debugger -remote npipe:server=Server,pipe=PipeName[,password=Password]
Debugger -remote tcp:server=Server,port=Socket[,password=Password][,ipversion=6]
Debugger -remote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]
Debugger -remote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]
Aby używać interfejsu graficznego do nawiązywania połączenia z sesją debugowania zdalnego, windbg musi być w trybie uśpienia — musi być uruchomiony bez parametrów wiersza polecenia lub musi zakończyć poprzednią sesję debugowania. Wybierz plik | Połącz się z sesją zdalną polecenie menu lub naciśnij skrótu CTRL+R. Po wyświetleniu okna dialogowego
zalecane metody połączenia z dodatkowymi zabezpieczeń
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]
Niezabezpieczone metody połączenia
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]
Alternatywnie możesz użyć przycisku Przeglądaj, aby zlokalizować aktywne serwery debugowania.
Ważny
Podczas korzystania z debugowania zdalnego należy wziąć pod uwagę ważne zagadnienia dotyczące zabezpieczeń. Aby uzyskać więcej informacji, w tym informacje na temat włączania trybu bezpiecznego, zobacz Zabezpieczenia podczas debugowania zdalnego i zagadnienia dotyczące zabezpieczeń dla narzędzi debugowania systemu Windows.
Parametry
Parametry w poprzednich poleceniach mają następujące możliwe wartości:
debugera
Nie musi to być ten sam debuger, co ten używany przez klienta debugowania — WinDbg, KD i CDB są wymienne do celów zdalnego debugowania za pośrednictwem debugera.
serwera
Jest to nazwa sieci lub adres IP komputera, na którym utworzono serwer debugowania. Dwa początkowe ukośniki odwrotne (\) są opcjonalne w wierszu polecenia, ale nie są dozwolone w oknie dialogowym WinDbg.
potok =PipeName
Jeśli jest używany protokół NPIPE lub SPIPE, PipeName to nazwa nadana potokowi podczas tworzenia serwera.
Jeśli nie zalogowano się na komputerze klienckim przy użyciu konta z dostępem do komputera serwera, należy podać nazwę użytkownika i hasło. Na komputerze klienckim w oknie wiersza polecenia wprowadź następujące polecenie.
net use \\Server\ipc$ /user:UserName
gdzie Server jest nazwą komputera serwera, a UserName jest nazwą konta, które ma dostęp do komputera serwera.
Po wyświetleniu monitu wprowadź hasło UserName.
Po pomyślnym wykonaniu tego polecenia można aktywować klienta debugowania przy użyciu opcji wiersza polecenia -remote lub przy użyciu interfejsu graficznego WinDbg.
Uwaga Może być konieczne włączenie udostępniania plików i drukarek na komputerze serwera. W Panelu sterowania przejdź do Network and Internet > Network and Sharing Center> Zaawansowane ustawienia udostępniania. Wybierz pozycję Włącz udostępnianie plików i drukarek.
port
Jeśli jest używany protokół TCP lub SSL, Socket jest tym samym numerem portu gniazda, który został użyty podczas tworzenia serwera.
interfejsu wiersza polecenia
Określa, że serwer debugowania spróbuje nawiązać połączenie z klientem za pośrednictwem odwrotnego połączenia. Klient musi używać clicon, jeśli i tylko wtedy, gdy serwer używa interfejsu wiersza polecenia . W większości przypadków klient debugowania jest uruchamiany przed serwerem debugowania, gdy jest używane odwrotne połączenie.
port =COMPort
Jeśli jest używany protokół COM, COMPort określa port COM do użycia. Prefiks "COM" jest opcjonalny — na przykład dopuszczalne są zarówno wartości "com2" i "2".
baud=BaudRate
Jeśli jest używany protokół COM, BaudRate powinien odpowiadać szybkości transmisji wybranej podczas tworzenia serwera.
kanał =COMChannel
Jeśli jest używany protokół COM, COMChannel powinien odpowiadać numerowi kanału wybranego podczas tworzenia serwera.
Jeśli jest używany protokół SSL lub SPIPE, protokół powinien być zgodny z protokołem bezpiecznym używanym podczas tworzenia serwera.
Cert
Jeśli jest używany protokół SSL lub SPIPE, należy użyć identycznego parametru certuser=Cert lub machuser=Cert parametru, który został użyty podczas tworzenia serwera.
password=Password
Jeśli hasło zostało użyte podczas tworzenia serwera, należy podać hasło w celu utworzenia klienta debugowania. Musi być zgodne z oryginalnym hasłem. W hasłach jest rozróżniana wielkość liter. Jeśli podano nieprawidłowe hasło, komunikat o błędzie określi "Błąd 0x80004005". Hasła muszą mieć co najmniej dwanaście znaków.
ipversion=6
(Narzędzia debugowania dla systemu Windows 6.6.07 i starszych) Wymusza, aby debuger używał adresu IP w wersji 6, a nie w wersji 4 podczas nawiązywania połączenia z Internetem przy użyciu protokołu TCP. W systemie Windows Vista i nowszych wersjach debuger próbuje automatycznie domyślnie ustawić adres IP w wersji 6, co sprawia, że ta opcja jest niepotrzebna.
Opcje wiersza polecenia używane do uruchamiania nowych sesji debugowania (takich jak -p) nie mogą być używane przez klienta debugowania, ale tylko przez serwer. Opcje konfiguracji (takie jak -n) będą działać z poziomu klienta lub serwera.