啟用偵錯用戶端
啟動偵錯伺服器之後,您就可以在另一部計算機上啟動偵錯用戶端,並連線到偵錯會話。
有兩種方式可以啟動偵錯用戶端:使用 -remote 命令行選項,或使用 WinDbg 圖形化介面。
用戶端的通訊協議必須符合伺服器的通訊協定。 啟動偵錯用戶端的一般語法取決於所使用的通訊協定。 有下列選項:
Debugger -remote npipe:server=Server,pipe=PipeName[,password=Password]
Debugger -remote tcp:server=Server,port=Socket[,password=Password][,ipversion=6]
Debugger -remote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]
Debugger -remote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]
Debugger -remote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]
Debugger -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]
Debugger -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]
若要使用圖形化介面來連線到遠端偵錯會話,WinDbg 必須處於休眠模式-- 它必須以沒有命令行參數啟動,或者必須已經結束先前的偵錯會話。 選取檔案 |連接到 [遠端會話 ] 功能表命令,或按 CTRL+R 快速鍵。 當 [連線到遠端調試程式工作階段] 對話框出現時,在 [連接字串] 文字框中輸入下列其中一個字串:
npipe:server=Server,pipe=PipeName[,password=Password]
tcp:server=Server,port=Socket[,password=Password][,ipversion=6]
tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]
com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]
spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]
ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]
ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]
或者,您可以使用 [瀏覽] 按鈕來尋找作用中的偵錯伺服器。
上述命令中的參數具有下列可能的值:
調試器
這不一定與偵錯用戶端所使用的調試程式相同--WinDbg、KD 和 CDB 都是可互換的,以便透過調試程式進行遠端偵錯。
伺服器
這是建立偵錯伺服器的計算機網路名稱或IP位址。 兩個初始反斜杠 (\) 在命令行上是選擇性的,但在 [WinDbg] 對話框中是不允許的。
pipe= PipeName
如果使用 NPIPE 或 SPIPE 通訊協定, PipeName 是建立伺服器時提供給管道的名稱。
如果您未使用可存取伺服器電腦的帳戶登入用戶端電腦,您必須提供使用者名稱和密碼。 在用戶端電腦的 [命令提示字元] 視窗中,輸入下列命令。
net use \\Server\ipc$ /user:UserName
其中 Server 是伺服器電腦的名稱,而 UserName 是有權存取伺服器電腦的帳戶名稱。
出現提示時,請輸入UserName的密碼。
此命令成功之後,您可以使用 -remote 命令行選項或使用 WinDbg 圖形化介面來啟動偵錯用戶端。
注意 您可能需要在伺服器電腦上啟用檔案和印表機共用。 在 [控制台] 中,流覽至 [網络和因特網>網络] 和 [共用中心>] [進階共用設定]。 選取 [開啟檔案和印表機共用]。
port= 插座
如果使用 TCP 或 SSL 通訊協定, 套接字 是建立伺服器時所使用的相同套接字埠號碼。
clicon
指定偵錯伺服器會嘗試透過反向連線到用戶端。 只有在伺服器使用 clicon 時,用戶端才能使用 clicon。 在大部分情況下,偵錯用戶端會在使用反向連接時啟動偵錯伺服器。
port= COMPort
如果使用 COM 通訊協定, COMPort 會指定要使用的 COM 埠。 前置詞 “COM” 是選擇性的 -- 例如,可以接受 “com2” 和 “2”。
baud= BaudRate
如果使用 COM 通訊協定, BaudRate 應該符合建立伺服器時所選擇的包速率。
channel= COMChannel
如果使用 COM 通訊協定, COMChannel 應該符合建立伺服器時所選擇的通道號碼。
proto= 協定
如果使用 SSL 或 SPIPE 通訊協定, Protocol 應該符合建立伺服器時所使用的安全通訊協定。
證書
如果使用 SSL 或 SPIPE 通訊協定,您應該使用建立伺服器時所使用的相同 certuser=Cert 或 machuser= Cert 參數。
password= 密碼
如果在建立伺服器時使用密碼, 則必須提供密碼 ,才能建立偵錯用戶端。 它必須符合原始密碼。 密碼會區分大小寫。 如果提供錯誤的密碼,錯誤訊息會指定「錯誤0x80004005」。密碼長度必須少於 12 個字元。
ipversion=6
(僅限適用於 Windows 6.6.07 和更早版本的偵錯工具)使用 TCP 連線到因特網時,強制調試程式使用 IP 第 6 版,而不是第 4 版。 在 Windows Vista 和更新版本中,調試程式會嘗試自動預設為 IP 版本 6,因此不需要此選項。
偵錯客戶端無法使用用來啟動新偵錯會話的命令行選項(例如 -p),只能由伺服器使用。 組態選項 (例如 -n) 會從客戶端或伺服器運作。