共用方式為


啟動重複項

若要啟動重複程式連線,您通常會先啟動伺服器,然後啟動重複程式,然後啟動用戶端。

您也可以先啟動重複程序,然後再啟動伺服器。 但是,除非您使用 clicon 參數來建立反向連線,否則客戶端必須一律在最後啟動。

步驟一:啟動伺服器

伺服器可以是偵錯伺服器、進程伺服器或 KD 連接伺服器。 您可以像往常一樣啟動此動作,不同之處在於傳輸通訊協定設定將用來連線到重複程式,而不是用戶端。 如需詳細資訊,請參閱啟用偵錯伺服器、啟用進程伺服器啟用 KD 連接伺服器。

如果您在建立伺服器時使用密碼,用戶端附加時需要此密碼,但在建立重複程式時則不需要此密碼。

如果您使用 隱藏 參數,伺服器將會如往常一樣隱藏。 重複程式本身一律會隱藏。

步驟 2:啟動重複項

Windows 偵錯工具中包含的重複項稱為 DbEngPrx (dbengprx.exe)。

DbEngPrx 瞭解下列傳輸通訊協定:命名管道 (NPIPE)、TCP 和 COM 埠。

如果您的用戶端和伺服器使用安全套接字層 (SSL) 通訊協定,您應該使用 TCP 通訊協定做為重複項。 如果您的用戶端和伺服器使用安全管道 (SPIPE) 通訊協定,您應該針對重複項使用 NPIPE 通訊協定。 重複項會傳遞它接收的任何數據,而不會解譯、加密或解密任何資訊。 所有加密和解密都會由客戶端和伺服器完成。

DbEnPrx 命令行的語法如下所示:

dbengprx [-p] -c ClientTransport -s ServerTransport

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

-p
即使在卸除所有連線之後,DbEngPrx 仍會繼續存在。

ClientTransport
指定要用於連線到伺服器的通訊協議設定。 通訊協議應該符合建立伺服器時所使用的通訊協定。 通訊協定語法如下:

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] 

通訊協議參數具有下列意義:

Server
這是建立伺服器之計算機的網路名稱或IP位址。 兩個初始反斜杠 (\) 是選擇性的。

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

port= 插座
如果使用 TCP 或 SSL 通訊協定, 套接字 是建立伺服器時所使用的相同套接字埠號碼。

clicon
指定伺服器會嘗試透過反向連接連接到重複程式。 只有在伺服器使用 clicon 時,ClientTransport 才能使用 clicon。 在大部分情況下,使用反向連接時,會在伺服器之前啟動重複程式。

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

baud= BaudRate
如果使用 COM 通訊協定, BaudRate 應該符合建立伺服器時所選擇的包速率。

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

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

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

ServerTransport
指定客戶端連接到重複程式時將使用的通訊協議設定。 可能的通訊協定語法如下:

npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] 
tcp:port=Socket[,hidden][,password=Password][,IcfEnable] 
tcp:port=Socket,clicon=Client[,password=Password] 
com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password] 

通訊協議參數具有下列意義:

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

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

您也可以指定以冒號分隔的埠範圍。 DbEngPrx 會檢查此範圍中的每個埠,以查看其是否可用。 如果找到免費埠且不會發生錯誤,則會建立重複項。 用戶端必須指定用來連線到重複程序的實際埠。 若要判斷實際埠,請搜尋重複項;顯示這個重複項時,埠後面會接著兩個以冒號分隔的數位。 第一個數位將是實際使用的埠;可以忽略第二個 。 例如,如果埠指定為 port=51:60,且實際使用埠 53,搜尋結果會顯示 “port=53:60”。 (如果您使用 clicon 參數來建立反向連線,用戶端可以透過這種方式指定埠範圍,而重複項必須指定所使用的實際埠。

clicon=Client
使用 TCP 或 SSL 通訊協定並 指定 clicon 參數時, 將會開啟反向連線 。 這表示重複程式會嘗試連線到用戶端,而不是讓用戶端起始聯繫人。 如果您的防火牆無法正常進行連線,這非常有用。 用戶端 會指定用戶端存在或將要建立之計算機的網路名稱或IP位址。 兩個初始反斜杠 (\) 是選擇性的。

由於重複程式正在尋找一個特定的用戶端,因此如果您使用此方法,就無法將多個用戶端連線到重複程式。 如果連線遭到拒絕或中斷,您必須重新啟動重複程式。

使用 clicon,最好在建立重複程式之前啟動客戶端,不過也允許一般順序(用戶端之前的重複程式)。

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

baud= BaudRate
使用 COM 通訊協定時, BaudRate 會指定連線執行所在的傳輸速率。 允許硬體支援的任何包速率。 如果您在 ClientTransportServerTransport 中使用 COM 通訊協定,您可以指定不同的傳輸速率,但速度變慢自然會是客戶端和伺服器彼此通訊的速度限制。

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

hidden
當另一個調試程序顯示所有作用中的伺服器時,防止伺服器出現。

password= 密碼
客戶端必須提供指定的密碼,才能連線到偵錯會話。 密碼 可以是任何英數位元字串。

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

步驟三:啟動用戶端

用戶端應該是偵錯客戶端或智慧型手機客戶端,無論對應到您的伺服器類型。 如需詳細資訊,請參閱啟用偵錯客戶端啟用智慧型手機客戶端啟用智慧型手機用戶端(核心模式)。

如果伺服器拒絕連線(例如,如果您提供不正確的密碼),則重複程式和客戶端都會關閉。 您必須重新啟動這兩者,才能重新建立與伺服器的連絡。