用戶端和伺服器範例
假設一個人正在名為 \\BOX17的電腦上執行應用程式。 此應用程式有問題,但偵錯技術人員位於不同的月臺。
第一個人會在 \\BOX17上使用 CDB 設定偵錯伺服器。 目標應用程式的進程識別碼為 122。 選擇 TCP 通訊協定,通訊端埠號碼為 1025。 在提升許可權的 [命令提示字元] 視窗中輸入下列命令,以啟動伺服器, (以系統管理員身分執行) :
E:\Debugging Tools for Windows> cdb -server tcp:port=1025 -p 122
在其他電腦上,技術人員決定使用 WinDbg 作為偵錯用戶端。 它可以使用此命令啟動:
G:\Debugging Tools> windbg -remote tcp:server=BOX17,port=1025
以下是另一個範例。 在此情況下,會選擇 NPIPE 通訊協定,並使用 CDB 而不是 WinDbg。 第一個使用者選擇管道名稱。 這可以是任何英數位元字串 -- 在此範例中為 「MainPipe」。 第一個使用者會開啟提升許可權的命令提示字元視窗, (以系統管理員身分執行) ,然後輸入下列命令來啟動偵錯伺服器:
E:\Debugging Tools for Windows> cdb -server npipe:pipe=MainPipe -v winmine.exe
技術人員會以無法存取伺服器電腦的帳戶登入用戶端電腦。 但技術人員知道具有伺服器電腦存取權之帳戶的使用者名稱和密碼。 該帳戶的使用者名稱為 Contoso。 技術人員會輸入下列命令:
net use \\BOX17\ipc$ /user:Contoso
出現提示時,技術人員會輸入 Contoso 帳戶的密碼。
技術人員不確定具名管道使用的名稱,因此他們會查詢 BOX17 以取得可用的偵錯伺服器。
G:\Debugging Tools> cdb -QR \\BOX17
Servers on \\BOX17:
Debugger Server - npipe:Pipe=MainPipe
Remote Process Server - npipe:Pipe=AnotherPipe
顯示兩個管道。 不過,只有一個是偵錯伺服器,另一個則是進程伺服器,我們並不感興趣。 因此 MainPipe 必須是正確的名稱。 技術人員會使用下列命令來啟動偵錯用戶端:
G:\Debugging Tools> cdb -remote npipe:server=BOX17,pipe=MyPipe
使用安全伺服器
以下是安全伺服器的範例。 此伺服器使用安全通訊端層搭配 TLS1 的 S 通道通訊協定。 偵錯工具會在電腦存放區中尋找憑證。 憑證是由其十六進位指紋所指定。
D:\> cdb -server "ssl:proto=tls1,machuser=ab 38 f7 ae 13 20 ac da 05 14 65 60 30 83 7b 83 09 2c d2 34,port=1234" notepad.exe