Sdílet prostřednictvím


Příklady serveru připojení KD

Předpokládejme, že technik ladění není v lokalitě, kde se nachází počítač, který se má ladit. Technik ladění požádá někoho v této lokalitě, aby připojil tento cílový počítač k jinému počítači pomocí ladicího kabelu.

Nechte tento jiný počítač být na IP adrese 127.0.0.42. Ladicí kabel připojuje COM1 na tomto počítači k portu, který má na cílovém počítači povolené ladění. Server připojení KD se spustí pomocí tohoto příkazu:

E:\Debugging Tools for Windows> kdsrv -t tcp:port=1027

Na druhém místě pak technik spustí WinDbg jako inteligentního klienta pomocí tohoto příkazu:

G:\Debugging Tools> windbg -k kdsrv:server=@{tcp:server=127.0.0.42,port=1027},trans=@{com:port=com1,baud=57600} -y SymbolPath

Cesta symbolu bude relativní vzhledem k počítači, na kterém je spuštěný inteligentní klient.

Tady je další příklad. V tomto případě je zvolen protokol NPIPE a místo WinDbg se používá KD. První uživatel zvolí název roury. Může to být libovolný alfanumerický řetězec – v tomto příkladu "KernelPipe". První uživatel otevře okno příkazového řádku se zvýšenými oprávněními (Spustit jako správce) a spustí ladicí server zadáním těchto příkazů:

E:\Debugging Tools for Windows> set _NT_DEBUG_PORT=com1
E:\Debugging Tools for Windows> kdsrv -t npipe:pipe=KernelPipe

Technik je přihlášený k klientskému počítači pomocí účtu, který nemá přístup k počítači serveru. Technik ale zná uživatelské jméno a heslo pro účet, který má přístup k serveru. Uživatelské jméno pro tento účet je Contoso. Technik zadá následující příkaz:

net use \\BOX17\ipc$ /user:Contoso

Po zobrazení výzvy zadá technik heslo k účtu Contoso.

Technik si není jistý, jaký název se použil pro pojmenovaný kanál, takže dotazuje 127.0.0.42 pro servery připojení KD:

G:\Debugging Tools> cdb -QR 127.0.0.42
Servers on 127.0.0.42:
Debugger Server - npipe:Pipe=MainPipe
Remote Process Server - npipe:Pipe=AnotherPipe
Remote Kernel Debugger Server - npipe:Pipe=KernelPipe

Jsou zobrazeny tři trubky. Jedním z nich je ale server připojení KD – ostatní jsou ladicí server a server procesů v uživatelském režimu. Technik zadá následující příkaz, který spustí inteligentního klienta:

G:\Debugging Tools> kd -k kdsrv:server=@{npipe:server=127.0.0.42,pipe=KernelPipe},trans=@{com:baud=57600} -y SymbolPath

Všimněte si, že i když je zadaná přenosová rychlost, port není specifikován. To způsobí, že ladicí program nastaví výchozí port určený _NT_DEBUG_PORT v počítači, na kterém je spuštěná služba KdSrv.