Vzdálené ladění pomocí WinDbg
Vzdálené ladění zahrnuje dva ladicí programy spuštěné ve dvou různých umístěních. Ladicí program, který provádí ladění, se nazývá ladicí server. Druhý ladicí program, zvaný ladicí klient , řídí ladicí relaci z vzdáleného místa. Pokud chcete vytvořit vzdálenou relaci, musíte nejprve nastavit ladicí server a pak aktivovat ladicí klient.
Laděný kód může běžet na stejném počítači, na kterém běží ladicí server, nebo může běžet na samostatném počítači. Pokud ladicí server provádí ladění v uživatelském režimu, může se proces ladění spustit na stejném počítači jako ladicí server. Pokud ladicí server provádí ladění v režimu jádra, pak by laděný kód obvykle běžel na samostatném cílovém počítači.
Následující diagram znázorňuje vzdálenou relaci, kdy ladicí server spuštěný na hostitelském počítači provádí ladění kódu v režimu jádra, který běží na samostatném cílovém počítači.
Důležitý
Při použití vzdáleného ladění existují další důležité aspekty zabezpečení, další informace, včetně informací o povolení zabezpečeného režimu, viz Zabezpečení během vzdáleného ladění a Aspekty zabezpečení pro nástroje ladění systému Windows.
Pro vzdálené ladění připojení můžete použít několik přenosových protokolů: TCP, NPIPE, SPIPE, SSL a COM Port. Předpokládejme, že jste se rozhodli použít protokol TCP a rozhodli jste se použít WinDbg jako klienta ladění i jako ladicí server. K navázání vzdálené relace ladění v režimu jádra můžete použít následující postup.
Na hostitelském počítači otevřete WinDbg a vytvořte ladicí relaci režimu jádra s cílovým počítačem. (Podívejte se na živé ladění pomocí Kernel-Mode WinDbg (Classic).)
Pro přerušení zvolte Break v nabídce Ladění nebo stiskněte kombinaci kláves CTRL-Break.
Ve okně příkazů ladicího programuzadejte následující příkaz.
.server tcp:port=5005
Poznámka Číslo portu 5005 je libovolné. Číslo portu je vaší volbou.
WinDbg odpoví výstupem podobným následujícímu.
Server started. Client can connect with any of these command lines 0: <debugger> -remote tcp:Port=5005,Server=YourHostComputer
Na vzdáleném počítači otevřete WinDbg a v nabídce Soubor zvolte Připojit ke vzdálené relaci.
V části Připojovací řetězeczadejte následující řetězec.
tcp:Port=5005,Server=YourHostComputer
kde YourHostComputer je název hostitelského počítače, na kterém běží ladicí server.
Vyberte OK.
Použití příkazového řádku
Jako alternativu k postupu uvedenému v předchozí části můžete nastavit relaci vzdáleného ladění pomocí příkazového řádku. Předpokládejme, že máte nastavit relaci ladění režimu jádra mezi hostitelským počítačem a cílovým počítačem pomocí kabelu 1394 na kanál 32. Pokud chcete vytvořit vzdálenou relaci ladění, můžete použít následující postup:
V hostitelském počítači zadejte do okna příkazového řádku následující příkaz.
windbg -server tcp:port=5005 -k 1394:channel=32
Na vzdáleném počítači zadejte do okna příkazového řádku následující příkaz.
windbg -remote tcp:Port=5005,Server=YourHostComputer
kde YourHostComputer je název hostitelského počítače, na kterém běží ladicí server.
Důležitý
Přenos 1394 je k dispozici pro použití ve Windows 10 verze 1607 a starších verzích. Není k dispozici v novějších verzích Windows. Projekty byste měli převést na jiné přenosy, například KDNET pomocí ethernetu. Další informace o tomto přenosu naleznete v tématu Nastavení ladění jádra sítě KDNET automaticky.
Další informace
Existuje mnoho způsobů, jak vytvořit vzdálené ladění jiné než ty, které jsou uvedené v tomto tématu. Úplné informace o nastavení ladicího serveru v příkazovém okně ladicího programu winDbgnaleznete v tématu .server (vytvoření ladicího serveru). Úplné informace o spuštění WinDbg (a navazování vzdáleného ladění) na příkazovém řádku naleznete v tématu WinDbg Command-Line Možnosti.