Share via


啟用智慧型用戶端 (核心模式)

一旦啟用 KD 連線伺服器,您就可以在另一部電腦上建立智慧型用戶端,並開始偵錯會話。

有兩種方式可以啟動智慧型用戶端:使用核心通訊協定 kdsrv啟動 KD 或 WinDbg,或使用 WinDbg 圖形化介面。

您必須指定 KD 連線伺服器所使用的遠端傳輸通訊協定。 您也可以指定 KD 連接伺服器與目的電腦之間實際核心連線的通訊協定,也可以使用預設值。

啟動智慧型用戶端的一般語法取決於使用的通訊協定。 有下列選項:

Debugger -k kdsrv:server=@{npipe:server=Server,pipe=PipeName[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{tcp:server=Server,port=Socket[,password=Password][,ipversion=6]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]},trans=@{ConnectType} [Options]

若要使用圖形化介面來連線到 KD 連線伺服器,WinDbg 必須處於睡眠模式-- 必須已啟動且沒有命令列參數,或者必須已結束先前的偵錯會話。 選取 [檔案] |連線到遠端 Stub 功能表命令。 當 [ 連線到遠端存根伺服器 ] 對話方塊出現時,請在 [連接字串] 文字方塊中輸入下列其中一個 字串

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] 

或者,您可以使用 [ 流覽] 按鈕來尋找作用中的 KD 連線伺服器。

上述命令中的參數具有下列可能的值:

調試
這可以是 KD 或 WinDbg。

伺服器
這是建立 KD 連線伺服器之電腦的網路名稱或 IP 位址。命令列上有兩個初始反斜線 (\) 是選擇性的,但在 [WinDbg] 對話方塊中不允許。

pipe=PipeName
如果使用 NPIPE 或 SPIPE 通訊協定, PipeName 是建立 KD 連接伺服器時提供給管道的名稱。

如果您未使用可存取伺服器電腦的帳戶登入用戶端電腦,您必須提供使用者名稱和密碼。 在用戶端電腦的 [命令提示字元] 視窗中,輸入下列命令。

net use \\Server\ipc$ /user:UserName

其中 Server 是伺服器電腦的名稱, 而 UserName 是可存取伺服器電腦的帳戶名稱。

出現提示時,請輸入 UserName的密碼。

此命令成功之後,您可以使用 -k kdsrv 或使用 WinDbg 圖形化介面來啟用智慧型用戶端。

port=Socket
如果使用 TCP 或 SSL 通訊協定, 通訊端 是建立 KD 連線伺服器時所使用的相同通訊端埠號碼。

clicon
指定 KD 連線伺服器會嘗試透過反向連線連線連線到智慧型用戶端。 只有在伺服器正在使用clicon時,用戶端才必須使用clicon。 在大部分情況下,使用反向連線時,智慧型用戶端會在 KD 連接伺服器之前啟動。

port=COMPort
如果使用 COM 通訊協定, COMPort 會指定要使用的 COM 埠。 前置詞 「COM」 是選擇性的 -- 例如,可以接受 「com2」 和 「2」。

baud=BaudRate
如果使用 COM 通訊協定,在建立 KD 連線伺服器時, BaumentRate 應該符合所選的傳輸速率。

channel=COMChannel
如果使用 COM 通訊協定, COMChannel 應該符合建立 KD 連接伺服器時所選擇的通道號碼。

proto=Protocol
如果使用 SSL 或 SPIPE 通訊協定, 通訊協定 應該符合建立 KD 連線伺服器時所使用的安全通訊協定。

證書
如果使用 SSL 或 SPIPE 通訊協定,您應該使用相同的 certuser=Certmachuser=Cert 參數,該參數是在建立 KD 連接伺服器時使用的。

password=Password
如果在建立 KD 連接伺服器時使用了密碼,則必須提供 密碼 ,才能建立智慧型用戶端。 它必須符合原始密碼。 密碼會區分大小寫。 如果提供錯誤的密碼,錯誤訊息會指定「錯誤0x80004005」。

ipversion=6
(Windows 6.6.07 和更早版本的偵錯工具,) 強制偵錯工具在使用 TCP 連線到網際網路時使用 IP 版本 6,而不是第 4 版。 在 Windows Vista 和更新版本中,偵錯工具會嘗試自動預設為 IP 第 6 版,因此不需要此選項。

trans=@{ConnectType}
告知偵錯工具如何連線到目標。 允許下列核心連線通訊協定:

com:port=ComPort,baud=BaudRate 
1394:channel=1394Channel[,symlink=1394Protocol] 
usb2:targetname=String 
com:pipe,port=\\VMHost\pipe\PipeName[,resets=0][,reconnect]
com:modem 

如需這些通訊協定的相關資訊,請參閱 取得設定以進行偵錯。 您可以省略這些通訊協定的任何參數 ,例如,您可以說 trans=@{com:} -- 偵錯工具會預設為 KdSrv 執行所在電腦上的環境變數所指定的值。

選項
您可以在這裡放置任何其他命令列參數。 如需完整清單,請參閱 命令列選項

由於 KD 連線伺服器只是智慧型用戶端的閘道,因此當您在 KdSrv 執行所在的電腦上啟動核心偵錯工具時,其他選項會與您所使用的 選項 相同。 這個例外狀況是指定路徑或檔案名的任何選項,都會當做智慧型用戶端執行所在電腦上的路徑。