Sdílet prostřednictvím


Aktivace procesového serveru

Procesový server, který je součástí nástrojů ladění pro Windows, se nazývá DbgSrv (dbgsrv.exe). Pokud chcete aktivovat procesový server, otevřete okno příkazového řádku se zvýšenými oprávněními (Spustit jako správce) a zadejte příkaz dbgsrv.

Poznámka Procesový server můžete aktivovat bez zvýšených oprávnění a ladění klientů se bude moct připojit k serveru. Klienti ale nebudou moct zjistit procesový server, pokud nebyl aktivován se zvýšenými oprávněními. Informace o zjišťování ladicí servery naleznete v tématu Hledání procesových serverů.

Důležitý

Při použití vzdáleného ladění existují důležité aspekty zabezpečení. Další informace, včetně informací o povolení zabezpečeného režimu, naleznete v tématu zabezpečení během vzdáleného ladění a aspekty zabezpečení nástroje ladění systému Windows.

DbgSrv podporuje několik přenosových protokolů: pojmenovaný kanál (NPIPE), TCP, port COM, zabezpečený kanál (SPIPE) a ssl (Secure Sockets Layer).

doporučené metody připojení s některými dalšími bezpečnostními

dbgsrv -t spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc] 

dbgsrv -t ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc] 

dbgsrv -t ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc] 

nezabezpečené metody připojení

dbgsrv -t tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc] 

dbgsrv -t tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc] 

dbgsrv -t npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc] 

dbgsrv -t com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc] 

Parametry

Parametry v předchozích příkazech mají následující možné hodnoty:

pipe=PipeName
Při použití protokolu NPIPE nebo SPIPE je PipeName řetězec, který bude sloužit jako název kanálu. Každý název kanálu by měl identifikovat jedinečný procesový server. Pokud se pokusíte znovu použít název kanálu, zobrazí se chybová zpráva. Pipe Name nesmí obsahovat mezery ani uvozovky. PipeName může obsahovat číselný formátovací kód formátu, například %x nebo %d. Procesový server tento proces nahradí ID procesu DbgSrv. Druhý takový kód bude nahrazen ID vlákna DbgSrv.

Poznámka Možná budete muset povolit sdílení souborů a tiskáren v počítači, na kterém běží procesový server. V Ovládacích panelech přejděte na Síť a Internet > Centrum síťových a sdílení> Rozšířené nastavení sdílení. Vyberte Zapnout sdílení souborů a tiskáren.

port=soketů
Při použití protokolu TCP nebo SSL socket je číslo portu soketu.

Je také možné zadat rozsah portů oddělených dvojtečkam. DbgSrv zkontroluje každý port v tomto rozsahu a zjistí, jestli je bezplatný. Pokud najde bezplatný port a nedojde k žádné chybě, vytvoří se procesový server. Inteligentní klient bude muset zadat skutečný port, který se používá pro připojení k serveru. K určení skutečného portu použijte některou z metod popsaných v Vyhledávání procesových serverů; po zobrazení tohoto procesového serveru bude za portem následovat dvě čísla oddělená dvojtečkam. První číslo bude skutečným použitým portem; druhý lze ignorovat. Pokud byl například port zadán jako port=51:60a port 53 byl skutečně použit, zobrazí se ve výsledcích hledání "port=53:60". (Pokud k navázání zpětného připojení používáte parametr clicon, může inteligentní klient tímto způsobem zadat rozsah portů, zatímco procesový server musí zadat skutečný použitý port.)

clicon=client
Pokud se použije protokol TCP nebo SSL a zadá se parametr clicon , otevře se zpětné připojení. To znamená, že procesový server se pokusí připojit k inteligentnímu klientovi místo toho, aby klient zahájil kontakt. To může být užitečné, pokud máte bránu firewall, která brání připojení obvyklým směrem. Klient určuje název sítě nebo IP adresu počítače, na kterém inteligentní klient existuje nebo bude vytvořen. Dvě počáteční zpětná lomítka (\) jsou volitelná.

Vzhledem k tomu, že procesový server hledá jednoho konkrétního klienta, nelze připojit více klientů k serveru, pokud používáte tuto metodu. Pokud je připojení odmítnuto nebo je přerušeno, budete muset procesový server restartovat. Procesový server zpětného připojení se nezobrazí, když někdo použije možnost -QR příkazového řádku k zobrazení všech aktivních serverů.

Poznámka Při použití clicon je nejlepší spustit inteligentního klienta před vytvořením procesového serveru, i když je povoleno obvyklé pořadí (server před klientem).

port= COMPort
Při použití protokolu COM COMPort určuje port COM, který se má použít. Předpona COM je volitelná – například com2 a 2 jsou přijatelné.

baud=BaudRate
Při použití protokolu COM BaudRate určuje přenosovou rychlost, s jakou se připojení spustí. Veškerá přenosová rychlost podporovaná hardwarem je povolená.

kanál = MODELU COMChannel
Pokud se používá protokol COM, COMChannel určuje kanál COM, který se má použít při komunikaci s klientem ladění. Může se jednat o libovolnou hodnotu od 0 do 254 (včetně). Jeden port COM můžete použít pro více připojení pomocí různých čísel kanálů. (To se liší od použití portů COM pro ladicí kabel – v takové situaci nemůžete používat kanály v rámci portu COM.)

proto=protocol
Pokud se používá protokol SSL nebo SPIPE, Protocol určuje protokol S-Channel (Secure Channel). Může to být libovolný řetězec tls1, pct1, ssl2 nebo ssl3.

certifikátu
Pokud se používá protokol SSL nebo SPIPE, certifikát určuje certifikát. Může to být buď název certifikátu, nebo kryptografický otisk certifikátu (řetězec šestnáctkových číslic zadaných přichycením certifikátu). Pokud se použije syntaxe certuser=Cert, ladicí program vyhledá certifikát v systémovém úložišti (výchozí úložiště). Pokud se použije syntaxe machuser=Cert, ladicí program vyhledá certifikát v úložišti počítačů. Zadaný certifikát musí podporovat ověřování serveru.

skrytých
Zabrání zobrazení procesového serveru, když někdo použije možnost -QR příkazového řádku k zobrazení všech aktivních serverů.

password=Password
Vyžaduje inteligentního klienta, aby zadal zadané heslo, aby se mohl připojit k procesovém serveru. heslo může být libovolný alfanumerický řetězec, o délce až dvanáct znaků.

Důležitý

Použití hesla s protokolem TCP, NPIPE nebo COM nabízí pouze malou ochranu, protože heslo není šifrované. Když použijete heslo společně s protokolem SSL nebo SPIPE, heslo se zašifruje. Pokud chcete vytvořit bezpečnější vzdálenou relaci, musíte použít protokol SSL nebo SPIPE.

ipversion=6
(Nástroje ladění pouze pro Windows 6.6.07 a starší) Vynutí ladicí program, aby při připojení k internetu používal IP verzi 6 místo verze 4. V systému Windows Vista a novějších verzích se ladicí program pokusí automaticky nastavit výchozí IP verzi 6, takže tato možnost není nutná.

IcfEnable
Způsobí, že ladicí program povolí potřebná připojení portu pro komunikaci tcp nebo pojmenovaného kanálu, když je aktivní brána firewall připojení k internetu. Brána firewall připojení k internetu ve výchozím nastavení zakáže porty používané těmito protokoly. Pokud IcfEnable se používá s připojením TCP, ladicí program způsobí, že systém Windows otevře port určený parametrem Socket. Pokud IcfEnable se používá s pojmenovaným připojením kanálu, ladicí program způsobí, že systém Windows otevře porty používané pro pojmenované kanály (porty 139 a 445). Ladicí program tyto porty po ukončení připojení nezavře.

-sifeospustitelný soubor
Pozastaví hodnotu možnosti spuštění souboru obrázku (IFEO) pro danou image. spustitelný soubor by měl obsahovat název souboru spustitelné image, včetně přípon názvů souborů. Možnost -sifeo umožňuje nastavit dbgSrv jako ladicí program IFEO pro image vytvořenou možností -c, aniž by to způsobilo rekurzivní vyvolání z důvodu nastavení IFEO. Tuto možnost lze použít pouze v případě, že se používá -c.

-c
Způsobí, že DbgSrv vytvoří nový proces. Můžete ho použít k vytvoření procesu, který chcete ladit. Podobá se vytvoření nového procesu z ladicího programu s tím rozdílem, že tento proces nebude při vytváření laděný. Chcete-li tento proces ladit, určete jeho PID a při spuštění inteligentního klienta k ladění tohoto procesu použijte možnost - p.

s
Způsobí okamžité pozastavení nově vytvořeného procesu. Pokud používáte tuto možnost, doporučujeme jako inteligentního klienta používat CDB a spustit inteligentního klienta s možností příkazového řádku -pb ve spojení s -p PID. Pokud do příkazového řádku zahrnete možnost -pb, proces se obnoví, jakmile se k němu ladicí program připojí; v opačném případě můžete proces obnovit pomocí příkazu ~*m.

AppCmdLine
Určuje úplný příkazový řádek procesu, který se má vytvořit. AppCmdLine může být řetězec Unicode nebo ASCII a může obsahovat libovolný tisknutelný znak. Veškerý text, který se zobrazí za parametrem -c[s], se použije k vytvoření řetězce AppCmdLine.

-x
Způsobí ignorování zbytku příkazového řádku. Tato možnost je užitečná, pokud spouštíte DbgSrv z aplikace, která může k příkazovému řádku připojit nežádoucí text.

-pc
Způsobí ignorování zbytku příkazového řádku. Tato možnost je užitečná, pokud spouštíte DbgSrv z aplikace, která může k příkazovému řádku připojit nežádoucí text. Výsledkem chyby syntaxe je, pokud -pc je posledním prvkem příkazového řádku DbgSrv. Kromě tohoto omezení je -pc stejný jako -x.

Na jednom počítači můžete spustit libovolný počet procesových serverů. Obvykle to ale není nutné, protože jeden procesový server může používat libovolný počet inteligentních klientů (každý se zabývá jinou ladicí relací).