共用方式為


使用 WinDbg 進行遠端偵錯

遠端偵錯可讓您偵錯在不同電腦上執行的程式碼。 本指南說明如何設定偵錯伺服器,並連線偵錯用戶端,以遠端控制偵錯會話。 您將瞭解設定這兩個元件的確切步驟。

您正在偵錯的程式碼可能會在與偵錯伺服器相同的電腦上執行,也可能在個別電腦上執行。 如果偵錯伺服器執行使用者模式偵錯,您正在偵錯的程式可以在與偵錯伺服器相同的電腦上執行。 如果偵錯伺服器執行核心模式偵錯,您正在偵錯的程式代碼通常會在個別的目標電腦上執行。

此圖顯示三部電腦如何在一般遠端偵錯設定中協同運作:

圖表的螢幕擷取畫面,說明連線以進行核心模式偵錯的遠端、主機和目標電腦。

重要

遠端偵錯會使您的系統面臨潛在的安全風險。 在繼續之前:

您可以使用數個傳輸通訊協定進行遠端偵錯連線:TCP、NPIPE、SPIPE、SSL 和 COM 埠。 假設您選擇 TCP 作為通訊協定,並選擇 WinDbg 作為偵錯用戶端和偵錯伺服器。 使用下列程式來建立遠端核心模式偵錯會話。

  1. 在主計算機上,開啟 WinDbg,並使用目標電腦建立內核模式偵錯會話。 (請參閱 使用 WinDbg 進行即時內核模式偵錯(傳統版)。

  2. [偵錯] 功能表選擇 [中斷] 或按 CTRL-Break 來中斷。

  3. 在 [ 調試程式命令視窗] 中,輸入下列命令。

    .server tcp:port=5005

    備註

    埠號 5005 是任意的。 您可以選擇連接埠號碼。

  4. WinDbg 會以類似下列的輸出回應。 複製連接字串,您將需要它進行下一個步驟。

    Server started.  Client can connect with any of these command lines
    0: <debugger> -remote tcp:Port=5005,Server=YourHostComputer
    
  5. 在遠端電腦上,開啟 WinDbg,然後從 [檔案] 選單選擇 [連線到遠端會話]。

  6. 在 [連接字串] 底下,輸入下列字串。

    tcp:Port=5005,Server=YourHostComputer

    其中 YourHostComputer 是執行偵錯伺服器的主機電腦名稱。

    選取 [確定]。

使用命令行

作為上一節中程序的替代方案,您可以在命令列中設定遠端偵錯工作階段。 假設您想要透過通道 32 上的 1394 纜線,在主機與目標電腦之間建立核心模式偵錯會話。 使用下列步驟來建立遠端偵錯會話:

  1. 在主計算機上,在 [命令提示字元] 視窗中輸入下列命令。

    windbg -server tcp:port=5005 -k 1394:channel=32

  2. 等待伺服器啟動。 您會看到包含連線詳細資料的確認訊息。 在繼續步驟 3 之前,請複製此連接字串。

  3. 在遠端電腦上,在 [命令提示字元] 視窗中輸入下列命令。

    windbg -remote tcp:Port=5005,Server=YourHostComputer

    其中 YourHostComputer 是執行偵錯伺服器的主機電腦名稱。

重要

1394 傳輸可用於 Windows 10 版本 1607 和更早版本。 它在更高版本的 Windows 中不可用。 將您的專案轉移到其他傳輸方式,例如透過乙太網絡的 KDNET。 如需該傳輸的詳細資訊,請參閱 自動設定 KDNET 網路核心偵錯。

後續步驟

您可以透過本主題中顯示的方式以外的多種方式建立遠端偵錯。