Udostępnij za pośrednictwem


.server (Utwórz serwer debugowania)

Polecenie .server uruchamia serwer debugowania, umożliwiając zdalne połączenie z bieżącą sesją 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 Zagadnienia dotyczące zabezpieczeń dla narzędzi debugowania systemu Windows.

zalecane metody połączenia z dodatkowymi zabezpieczeń

.server spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password] 
.server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password] 
.server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] 

Niezabezpieczone metody połączenia

.server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] 
.server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] 
.server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] 
.server com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password] 

Parametry

nazwa potoku
Gdy jest używany protokół NPIPE lub SPIPE, PipeName to ciąg, który będzie służyć jako nazwa potoku. Każda nazwa potoku powinna identyfikować unikatowy serwer debugowania. Jeśli spróbujesz ponownie użyć nazwy potoku, zostanie wyświetlony komunikat o błędzie. PipeName nie może zawierać spacji ani cudzysłowów. PipeName może zawierać liczbowykod formatu stylu, taki jak %x lub %d. Debuger zastąpi to identyfikatorem procesu debugera. Drugi taki kod zostanie zastąpiony identyfikatorem wątku debugera.

Socket
Gdy jest używany protokół TCP lub SSL, Socket jest numerem portu gniazda.

Istnieje również możliwość określenia zakresu portów rozdzielonych dwukropkiem. Debuger sprawdzi każdy port w tym zakresie, aby sprawdzić, czy jest wolny. Jeśli znajdzie bezpłatny port i nie wystąpi błąd, zostanie utworzony serwer debugowania. Klient debugowania będzie musiał określić rzeczywisty port używany do nawiązywania połączenia z serwerem. Aby określić rzeczywisty port, użyj dowolnej metody opisanej w Wyszukiwanie serwerów debugowania; po wyświetleniu tego serwera debugowania port będzie po dwóch liczbach rozdzielonych dwukropkiem. Pierwsza liczba będzie rzeczywistym używanym portem; drugi można zignorować. Jeśli na przykład port został określony jako port=51:60, a port 53 został rzeczywiście użyty, wyniki wyszukiwania będą pokazywać wartość "port=53:60". (Jeśli używasz parametru clicon w celu nawiązania połączenia odwrotnego, klient debugowania może określić zakres portów w ten sposób, podczas gdy serwer musi określić rzeczywisty używany port).

clicon=Client
Gdy jest używany protokół TCP lub SSL i clicon parametr jest określony, zostanie otwarte odwrotne połączenie. Oznacza to, że serwer debugowania spróbuje nawiązać połączenie z klientem debugowania, a nie pozwoli klientowi zainicjować kontakt. Może to być przydatne, jeśli masz zaporę, która uniemożliwia połączenie w zwykłym kierunku. Client określa nazwę sieci maszyny, na której istnieje lub zostanie utworzony klient debugowania. Dwa początkowe ukośniki odwrotne (\\) są opcjonalne.

Jeśli jest używana interfejsu wiersza polecenia, najlepiej jest uruchomić klienta debugowania przed utworzeniem serwera debugowania, chociaż jest również dozwolona zwykła kolejność (serwer przed klientem). Serwer odwrotnego połączenia nie będzie wyświetlany, gdy inny debuger wyświetla wszystkie aktywne serwery.

COMPort
Gdy jest używany protokół COM, COMPort określa port COM do użycia. Prefiks COM jest opcjonalny (na przykład zarówno "com2" i "2" są dopuszczalne).

BaudRate
Gdy jest używany protokół COM, BaudRate określa szybkość transmisji, z jaką zostanie uruchomione połączenie. Dozwolona jest szybkość transmisji obsługiwana przez sprzęt.

COMChannel
Jeśli jest używany protokół COM, COMChannel określa kanał COM, który ma być używany w komunikacji z klientem debugowania. Może to być dowolna wartość z zakresu od 0 do 254 włącznie.

protokołu
Jeśli jest używany protokół SSL lub SPIPE, Protocol określa protokół Secure Channel (S-Channel). Może to być dowolny z ciągów tls1, pct1, ssl2 lub ssl3.

Cert
Jeśli jest używany protokół SSL lub SPIPE, certyfikat określa certyfikat. Może to być nazwa certyfikatu lub odcisk palca certyfikatu (ciąg cyfr szesnastkowych podanych przez przystawkę certyfikatu). Jeśli jest używana składnia certuser=Cert, debuger wyszuka certyfikat w magazynie systemowym (magazyn domyślny). Jeśli jest używana składnia machuser=Cert, debuger wyszuka certyfikat w magazynie maszyn. Określony certyfikat musi obsługiwać uwierzytelnianie serwera.

ukryte
Uniemożliwia wyświetlanie serwera, gdy inny debuger wyświetla wszystkie aktywne serwery.

password=Password
Wymaga, aby klient debugowania podał określone hasło w celu nawiązania połączenia z sesją debugowania. hasło może być dowolnym ciągiem alfanumerycznym, maksymalnie dwunastoma znakami.

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.

IcfEnable
Powoduje, że debuger włącza niezbędne połączenia portów dla komunikacji TCP lub nazwanego potoku, gdy zapora połączenia internetowego jest aktywna. Domyślnie zapora połączenia internetowego wyłącza porty używane przez te protokoły. Gdy IcfEnable jest używany z połączeniem TCP, debuger powoduje otwarcie portu określonego przez parametr Socket systemu Windows. Gdy IcfEnable jest używany z nazwanym połączeniem potoku, debuger powoduje otwarcie portów używanych dla nazwanych potoków (porty 139 i 445). Debuger nie zamyka tych portów po zakończeniu połączenia.

Środowisko

Przedmiot Opis
Tryby Tryb użytkownika, tryb jądra
Cele Na żywo, zrzut awaryjny
Platformy Cały

Dodatkowe informacje

Aby uzyskać szczegółowe informacje na temat uruchamiania serwera debugowania, zobacz Aktywowanie serwera debugowania. Przykłady można znaleźć w temacie Client and Server Examples (Przykłady klienta i serwera ).

Uwagi

To polecenie zamienia bieżący debuger na serwer debugowania. Dzięki temu można uruchomić serwer po uruchomieniu debugera, natomiast -server opcji wiersza polecenia można wydać tylko po uruchomieniu debugera.

Dzięki temu klient debugowania może nawiązać połączenie z bieżącą sesją debugowania. Należy pamiętać, że można uruchomić wiele serwerów przy użyciu różnych opcji, co pozwala na dołączanie do sesji różnych rodzajów klientów debugowania.

Ważny

Użycie hasła z protokołem TCP, NPIPE lub COM zapewnia tylko niewielką ilość ochrony, ponieważ hasło nie jest szyfrowane. Jeśli używasz hasła razem z protokołem SSL lub SPIPE, hasło jest szyfrowane. Jeśli chcesz ustanowić bezpieczną sesję zdalną, musisz użyć protokołu SSL lub SPIPE.