共用方式為


進程伺服器範例

假設一個人正在名為 \\BOX17 的計算機上執行應用程式。 此應用程式有問題,但偵錯技術人員位於不同的地點。

第一個人會在 \\BOX17 上使用 DbgSrv 設定進程伺服器。 目標應用程式的進程識別碼為 122。 選擇 TCP 通訊協定,套接字埠號碼為 1025。 伺服器會使用下列命令啟動:

E:\Debugging Tools for Windows> dbgsrv -t tcp:port=1025 

在其他計算機上,技術人員會使用下列命令,將 WinDbg 啟動為智慧型手機用戶端:

G:\Debugging Tools> windbg -premote tcp:server=BOX17,port=1025 -p 122 

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

E:\Debugging Tools for Windows> dbgsrv -t npipe:pipe=AnotherPipe

技術人員會以無法存取伺服器計算機的帳戶登入客戶端電腦。 但技術人員知道具有伺服器計算機存取權之帳戶的使用者名稱和密碼。 該帳戶的使用者名稱為 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

顯示兩個管道。 不過,只有一個是進程伺服器 -- 另一個是偵錯伺服器,我們對此不感興趣。 因此 ,AnotherPipe 必須是正確的名稱。 技術人員輸入下列命令來啟動智慧型用戶端:

G:\Debugging Tools> cdb -premote npipe:server=BOX17,pipe=AnotherPipe -v sol.exe

如需使用進程伺服器更複雜的範例,請參閱 中間符號