共用方式為


啟動 KD 連線伺服器

Windows 偵錯工具中包含的 KD 連線伺服器稱為 KdSrv (kdsrv.exe)。 若要啟動 KD 連線伺服器,請開啟提升許可權的命令提示字元視窗(以系統管理員身分執行),然後輸入 kdsrv 命令。

注意 您可以啟用 KD 連線伺服器,而不需要提高許可權,而且偵錯客戶端將能夠連線到伺服器。 不過,除非用戶端以較高的許可權啟用,否則用戶端將無法探索 KD 連線伺服器。 如需如何探索偵錯伺服器的資訊,請參閱 搜尋 KD 連線伺服器

重要

使用遠端偵錯時,有重要的安全性考慮。 如需詳細資訊,包括啟用安全模式的資訊,請參閱在遠端偵錯期間 安全性,以及 Windows 偵錯工具 安全性考慮

KdSrv 支援數種傳輸通訊協定:命名管道 (NPIPE)、TCP、COM 埠、安全管道 (SPIPE) 和安全套接字層 (SSL)。

KdSrv 命令行的語法取決於所使用的通訊協定。 下列選項存在:

建議的連線方法,以及一些額外的安全性

kdsrv -t spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password] 

kdsrv -t ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password] 

kdsrv -t ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] 

不安全的連線方法

kdsrv -t npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] 

kdsrv -t tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] 

kdsrv -t tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] 

kdsrv -t com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password] 

參數

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

pipe=PipeName
使用 NPIPE 或 SPIPE 通訊協定時,PipeName 是將做為管道名稱的字串。 每個管道名稱都應該識別唯一的進程伺服器。 如果您嘗試重複使用管道名稱,您會收到錯誤訊息。 PipeName 不得包含空格或引號。 PipeName 可以包含數位 printf樣式格式代碼,例如 %x%d。 這會由 KdSrv 的進程標識碼取代。 第二個這類程式代碼將會由 KdSrv 的線程標識碼取代。

port=Socket
使用 TCP 或 SSL 通訊協定時,套接字 是套接字埠號碼。

您也可以指定以冒號分隔的埠範圍。 KdSrv 會檢查此範圍中的每個埠,以查看其是否可用。 如果找到免費埠且不會發生錯誤,則會建立 KD 連線伺服器。 智慧型手機到伺服器的實際埠。 若要判斷實際埠,請使用 搜尋 KD 連線伺服器中所述的任何方法;顯示此 KD 連接伺服器時,埠後面會接著兩個數位,並以冒號分隔。 第一個數位將是實際使用的埠;可以忽略第二個 。 例如,如果埠指定為 port=51:60,且實際使用埠 53,搜尋結果會顯示 “port=53:60”。 (如果您使用 clicon 參數來建立反向連線,智慧型手機,智慧型手機客戶端可以以此方式指定埠範圍,而 KD 連線伺服器必須指定所使用的實際埠。

clicon=用戶端
使用 TCP 或 SSL 通訊協定並指定 clicon 參數時,將會開啟 反向連線。 這表示 KD 連線伺服器會嘗試連線到智慧型手機到智慧型手機客戶端,而不是讓用戶端起始聯繫人。 如果您的防火牆無法正常進行連線,這非常有用。 用戶端 指定智慧型手機用戶端存在或建立所在電腦的網路名稱或 IP 位址。 兩個初始反斜杠 (\) 是選擇性的。

由於 KD 連線伺服器正在尋找一個特定的用戶端,因此如果您使用此方法,就無法將多個用戶端連線到伺服器。 如果連線遭到拒絕或中斷,您必須重新啟動進程伺服器。 當有人使用 -QR 命令行選項來顯示所有使用中的伺服器時,將不會顯示反向連線 KD 連線伺服器。

注意 使用 clicon 時,最好先啟動智慧型手機用戶端,再建立 KD 連線伺服器,不過也允許一般順序(用戶端之前的伺服器)。

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

baud=BaudRate
使用 COM 通訊協定時,BaudRate 會指定連線執行所在的傳輸速率。 允許硬體支援的任何包速率。

信道=COMChannel
如果使用 COM 通訊協定,COMChannel 指定要用於與偵錯用戶端通訊的 COM 通道。 這可以是介於 0 到 254 之間的任何值,包含。 您可以使用單一 COM 埠搭配不同的通道號碼進行多個連線。 (這與使用 COM 埠進行偵錯纜線的方式不同 -- 在這種情況下,您無法在 COM 埠內使用通道。

proto=通訊協定
如果使用 SSL 或 SPIPE 通訊協定,通訊協定 指定安全通道 (S-Channel) 通訊協定。 這可以是任何一個字串 tls1、pct1、ssl2 或 ssl3。

憑證
如果使用 SSL 或 SPIPE 通訊協定,憑證 指定憑證。 這可以是憑證名稱或憑證指紋(憑證嵌入式管理單元所提供的十六進位數位字串)。 如果使用 certuser=Cert 語法 ,調試程式會在系統存放區中查詢憑證(預設存放區)。 如果使用語法 machuser=Cert,調試程式會在電腦存放區中查閱憑證。 指定的憑證必須支援伺服器驗證。

隱藏
當有人使用 -QR 命令行選項來顯示所有使用中的伺服器時,防止 KD 連線伺服器出現。

password=Password
需要智慧型手機用戶端提供指定的密碼,才能連線到 KD 連線伺服器。 密碼 可以是任何英數位元字串,長度最多 12 個字元。

重要

搭配 TCP、NPIPE 或 COM 通訊協定使用密碼時,僅提供少量的保護,因為密碼未加密。 當您搭配 SSL 或 SPIPE 通訊協定使用密碼時,密碼會加密。 如果您想要建立更安全的遠端會話,您必須使用 SSL 或 SPIPE 通訊協定。

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

IcfEnable
讓調試程式在因特網連線防火牆作用中時啟用 TCP 或命名管道通訊的必要埠連線。 根據預設,因特網連線防火牆會停用這些通訊協定所使用的埠。 當 IcfEnable 與 TCP 連線搭配使用時,調試程式會讓 Windows 開啟 Socket 參數所指定的埠。 當 IcfEnable 搭配命名管道連線使用時,調試程式會讓 Windows 開啟用於命名管道的埠(埠 139 和 445)。 調試程式不會在連線終止之後關閉這些埠。