選擇最佳遠端偵錯方法
有兩個主要方法可執行遠程偵錯,以及數個額外的方法和大量的組合方法。
以下是一些可協助您選擇最佳技術的秘訣。
透過調試程式進行遠程偵錯 通常是最佳方法。 如果您只有一部伺服器和一個用戶端,且雙方可以自由連線,並且用戶端和伺服器上都安裝了相同的偵錯工具二進位檔,而操作用戶端的偵錯技術人員能夠與伺服器所在房間中的某人交流,這是建議的方法。
用戶端和伺服器可以執行任何版本的 Windows。 它們不需要執行彼此相同的版本。
如果客戶端無法將連線要求傳送至伺服器,但伺服器能夠將要求傳送至用戶端,您可以使用遠端偵錯,透過調試程式使用 反向連線 與 clicon 參數來實現。
透過 remote.exe 遠端偵錯可用來遠端控制命令提示字元視窗。 它可以用來遠端控制 KD、CDB 或 NTSD。 它無法與 WinDbg 搭配使用。
如果您的用戶端沒有調試程式二進位檔的複本,您必須使用 remote.exe 方法。
當偵錯技術人員無法與伺服器所在房間的人交談時,可以使用進程伺服器 或 KD 連線伺服器。 所有實際偵錯工作都是由用戶端完成(稱為 智慧客戶端),這樣就不需要在伺服器旁有第二個人。
進程伺服器用於使用者模式偵錯;KD 連線伺服器用於內核模式偵錯。 除了這種區別之外,它們的行為也類似。
如果執行伺服器的計算機無法處理繁重的進程負載,或者執行客戶端的技術人員可以存取機密且無法由伺服器存取的符號檔或來源檔案,這個方法也很有用。 不過,此方法不像透過調試程式進行遠程偵錯那麼快速或有效率。 這個方法無法用於傾印檔案偵錯。
如需詳細資訊,請參閱 進程伺服器(使用者模式) 和 KD 連線伺服器(核心模式)。
重複程式 是輕量型 Proxy 伺服器,可轉寄兩部計算機之間的數據。 如果您要透過偵錯工具執行遠端偵錯,或是使用進程伺服器,您可以在用戶端與伺服器之間新增中繼器。
如果您的客戶端和伺服器無法直接彼此通訊,但都可以存取外部計算機,則可能需要使用中繼器。 您也可以搭配中繼器使用反向連線。 甚至可以連續使用兩個中繼器,但這通常不必要。
如需詳細資訊,請參閱 中繼器。
您也可以從核心調試程式控制CDB (或 NTSD)。 這是另一種遠端偵錯形式。 如需詳細資訊,請參閱 從核心調試器 控制調試器 User-Mode。
所有這些方法的變化都是可能的。
可以將數部計算機鏈結在一起,以利用多個傳輸方法。 您可以建立複雜的傳輸順序,以考慮技術人員所在的位置、符號所在的位置,以及是否有防火牆會防止特定方向的連線。 如需一些範例,請參閱 進階遠端偵錯案例。
您甚至可以在單一電腦上執行遠程偵錯。 例如,啟動低許可權進程伺服器,然後使用高許可權智慧型用戶端連接到它,可能非常有用。
重要
使用遠端偵錯時,有重要的安全性考慮。 如需進一步的資訊,包括啟用安全模式的資訊,請參閱 遠端偵錯期間的安全性,以及 Windows 偵錯工具的安全性考量。