Share via


KD 連線伺服器範例

假設偵錯技術人員不在要偵錯之電腦的月臺上。 偵錯技術人員會要求此月臺的人員使用此目的電腦連線到具有偵錯纜線的其他電腦。

讓此其他電腦位於 IP 位址 127.0.0.42。 偵錯纜線會將這部電腦上的 COM1 連接到目的電腦上已啟用偵錯的埠。 KD 連線伺服器是使用此命令啟動:

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

然後在另一個位置,技術人員會使用下列命令,啟動 WinDbg 作為智慧型用戶端:

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

符號路徑會相對於智慧型用戶端執行所在的電腦。

以下是另一個範例。 在此情況下,會選擇 NPIPE 通訊協定,並使用 KD 而不是 WinDbg。 第一個使用者選擇管道名稱。 這可以是任何英數位元字串 -- 在此範例中為 「KernelPipe」。 第一位使用者會開啟提升許可權的命令提示字元視窗, (以系統管理員身分執行) ,然後輸入下列命令來啟動偵錯伺服器:

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

技術人員會以無法存取伺服器電腦的帳戶登入用戶端電腦。 但技術人員知道具有伺服器電腦存取權之帳戶的使用者名稱和密碼。 該帳戶的使用者名稱為 Contoso。 技術人員會輸入下列命令:

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

出現提示時,技術人員會輸入 Contoso 帳戶的密碼。

技術人員不確定具名管道使用的名稱,因此他們會查詢 KD 連線伺服器的 127.0.0.42:

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

顯示三個管道。 不過,只有一個是 KD 連線伺服器,其他則是偵錯伺服器和使用者模式進程伺服器。 技術人員會輸入下列命令來啟動智慧型用戶端:

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

請注意,雖然已指定傳輸速率,但埠並未指定。 這會導致偵錯工具預設為 KdSrv 執行所在電腦上_NT_DEBUG_PORT所指定的埠。