兩個防火牆
在此案例中,您必須在建置 A 的電腦上執行核心偵錯。您的技術人員位於建置 C 中,且可存取該處的符號。 不過,這兩棟建築物都有防火牆,不允許連入連線。
您需要在中立位置設置中繼器,例如,比方說,B 大樓。然後,您可以將 A 連接至 B,並將 C 連接至 B。
此案例將涉及四部電腦:
目標計算機位於建置 A 中。
位於 A 棟的本機主電腦。這台電腦會執行 KD 連線伺服器。 它會透過偵錯纜線或 1394 纜線連接到目標電腦,然後再連接到中繼器。 讓這部電腦的IP位址是127.0.10.10。
B 棟的電腦。這會運行中繼器。 讓它的IP位址是127.0.20.20。
技術人員所在的 C 大樓電腦。 這部計算機會以智慧用戶端身分執行 WinDbg。 讓它的IP位址是127.0.30.30。
首先,請確定目標電腦已設置為偵錯模式,並附加至本機主機。 在此範例中,會使用 1394 纜線。
其次,在 127.0.20.20 啟動代理中繼程式:
dbengprx -p -s tcp:port=9001 -c tcp:port=9000,clicon=127.0.10.10
第三,在建置 A 的 127.0.10.10 上啟動 KD 連線伺服器,如下所示:
kdsrv -t tcp:port=9000,clicon=127.0.20.20,password=Password
最後,在 C 棟的 127.0.30.30 啟動智慧用戶端(這實際上可以在 A 棟啟動伺服器之前或之後完成)。
windbg -k kdsrv:server=@{tcp:server=127.0.20.20,port=9001,password=Password},trans=@{1394:channel=9} -y SymbolPath
Five-Computer 情境
如果您假設符號位於建置 C 的一部電腦上,但技術人員位於不同的電腦上,則此案例可能會更加複雜。
假設 127.0.30.30 擁有這些符號,如前所示,且其本機名稱為 \\BOXC
。 智慧用戶端可用上述相同的命令啟動,但增加 -server 參數。 由於沒有人會使用此電腦,因此如果您使用 KD 而不是 WinDbg,則處理時間會較少:
kd -server npipe:pipe=randomname -k kdsrv:server=@{tcp:server=127.0.20.20,port=9001,password=Password},trans=@{1394:channel=9} -y SymbolPath
然後,位於大樓其他地方的技術人員可以啟動偵錯用戶端,如下所示:
windbg -remote npipe:server=\\BOXC,pipe=randomname
請注意,密碼必須由鏈結中的第一個非重複程式提供(\\BOXC
上的智慧型用戶端),而不是由鏈結中的最後調試程式提供。
重要
使用遠端偵錯時,有重要的安全性考慮。 如需詳細資訊,包括有關啟用安全模式的資訊,請參閱 遠端偵錯期間的安全性 和 Windows 偵錯工具的安全考量。