Share via


啟動重複項

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

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

步驟一:啟動伺服器

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

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

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

步驟二:啟動重複項

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

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

如果您的用戶端和伺服器使用安全通訊端層 (SSL) 通訊協定,您應該針對重複項使用 TCP 通訊協定。 如果您的用戶端和伺服器使用安全管道 (SPIPE) 通訊協定,您應該針對重複程式使用 NPIPE 通訊協定。 重複程式會傳遞它收到的任何資料-- 不會解譯、加密或解密任何資訊。 用戶端和伺服器將會完成所有加密和解密。

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

dbengprx [-p] -cClientTransport-sServerTransport

先前命令中的參數具有下列可能的值:

-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] 

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

伺服器
這是建立伺服器之電腦的網路名稱或 IP 位址。 兩個初始反斜線 (\) 是選擇性的。

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

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

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

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

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

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

password=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=Socket
使用 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 埠內使用通道。)

隱藏
當另一個偵錯工具顯示所有作用中伺服器時,防止伺服器出現。

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

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

步驟三:啟動用戶端

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

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