Udostępnij za pośrednictwem


Aktywowanie klienta inteligentnego (tryb jądra)

Po aktywowaniu serwera połączeń KD można utworzyć inteligentnego klienta na innym komputerze i rozpocząć sesję debugowania.

Istnieją dwa sposoby uruchamiania inteligentnego klienta: uruchamiając KD lub WinDbg przy użyciu protokołu jądra kdsrvlub przy użyciu interfejsu graficznego WinDbg.

Należy określić protokół transferu zdalnego używany przez serwer połączenia KD. Można również określić protokół rzeczywistego połączenia jądra między serwerem połączenia KD a komputerem docelowym lub można użyć wartości domyślnej.

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.

Ogólna składnia uruchamiania inteligentnego klienta zależy od używanego protokołu. Istnieją następujące opcje:

zalecane metody połączenia z dodatkowymi zabezpieczeń

Debugger -k kdsrv:server=@{spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]},trans=@{ConnectType} [Options]

Niezabezpieczone metody połączenia

Debugger -k kdsrv:server=@{npipe:server=Server,pipe=PipeName[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{tcp:server=Server,port=Socket[,password=Password][,ipversion=6]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]},trans=@{ConnectType} [Options]

Aby używać interfejsu graficznego do nawiązywania połączenia z serwerem połączenia KD, 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 zdalnym łącznikiem menu. Po wyświetleniu okna dialogowego Połącz z zdalnym serwerem stub Server wprowadź jeden z następujących parametrów w polu tekstowym Parametry połączenia:

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] 

com:port=COMPort,baud=BaudRate,channel=COMChannel[,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] 

Alternatywnie możesz użyć przycisku Przeglądaj, aby zlokalizować aktywne serwery połączeń KD.

Parametry w poprzednich poleceniach mają następujące możliwe wartości:

debugera
Może to być KD lub WinDbg.

serwera
Jest to nazwa sieci lub adres IP komputera, na którym został utworzony serwer połączenia KD. 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 jest nazwą nadaną potokowi podczas tworzenia serwera połączenia KD.

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 inteligentnego przy użyciu -k kdsrv lub przy użyciu interfejsu graficznego WinDbg.

port =Socket
Jeśli jest używany protokół TCP lub SSL, Socket jest tym samym numerem portu gniazda, który został użyty podczas tworzenia serwera połączenia KD.

interfejsu wiersza polecenia
Określa, że serwer połączenia KD spróbuje nawiązać połączenie z klientem inteligentnym za pośrednictwem połączenia odwrotnego. Klient musi używać clicon, jeśli i tylko wtedy, gdy serwer używa interfejsu wiersza polecenia . W większości przypadków inteligentny klient jest uruchamiany przed serwerem połączenia KD, 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 być zgodny z szybkością transmisji wybraną podczas tworzenia serwera połączenia KD.

kanał =COMChannel
Jeśli jest używany protokół COM, COMChannel powinien być zgodny z numerem kanału wybranym podczas tworzenia serwera połączenia KD.

proto = protokołu
Jeśli jest używany protokół SSL lub SPIPE, Protokół powinien być zgodny z bezpiecznym protokołem używanym podczas tworzenia serwera połączenia KD.

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 połączenia KD.

password=Password
Jeśli podczas tworzenia serwera połączenia KD użyto hasła, hasło należy podać w celu utworzenia klienta inteligentnego. 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".

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.

trans=@{ConnectType}
Informuje debuger, jak nawiązać połączenie z obiektem docelowym. Dozwolone są następujące protokoły połączeń jądra:

com:port=ComPort,baud=BaudRate 
usb2:targetname=String 
com:pipe,port=\\VMHost\pipe\PipeName[,resets=0][,reconnect]
com:modem 

Aby uzyskać informacje o tych protokołach, zobacz Getting Set Up for Debugowanie. Można pominąć dowolny z parametrów dla tych protokołów — na przykład można powiedzieć trans=@{com:} - a debuger będzie domyślnie określać wartości określone przez zmienne środowiskowe na komputerze, na którym działa KdSrv.

Opcje
Wszystkie dodatkowe parametry wiersza polecenia można umieścić tutaj. Aby uzyskać pełną listę, zobacz Command-Line Opcje.

Ponieważ serwer połączenia KD działa po prostu jako brama dla klienta inteligentnego, dodatkowe opcje będą takie same jak te, których można użyć, jeśli uruchamiasz debuger jądra na komputerze, na którym jest uruchomiony program KdSrv. Wyjątkiem jest każda opcja określająca ścieżkę lub nazwę pliku będzie traktowana jako ścieżka na komputerze, na którym jest uruchomiony klient inteligentny.