共用方式為


使用 WinDbg 進行遠端偵錯

遠端偵錯牽涉到兩個不同的位置執行的兩個偵錯工具。 執行偵錯的偵錯工具稱為 偵錯伺服器。 第二個偵錯工具稱為 偵錯用戶端,會從遠端位置控制偵錯會話。 若要建立遠端會話,您必須先設定偵錯伺服器,然後啟動偵錯用戶端。

正在偵錯的程式碼可以在執行偵錯伺服器的同一部電腦上執行,或者它可以在另一部電腦上執行。 如果偵錯伺服器正在執行使用者模式偵錯,則正在偵錯的進程可以在與偵錯伺服器相同的電腦上執行。 如果偵錯伺服器正在執行核心模式偵錯,則偵錯的程式碼通常會在不同的目的電腦上執行。

下圖說明偵錯伺服器在主機電腦上執行的遠端會話,正在執行個別目的電腦上執行之程式碼的核心模式偵錯。

說明遠端、主機和目的電腦連線以進行核心模式偵錯的圖表。

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

  1. 在主機電腦上,開啟 WinDbg,並使用目的電腦建立核心模式偵錯會話。 (請參閱 使用 WinDbg (傳統) .) 即時 Kernel-Mode 偵錯

  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. 在遠端電腦上,在 [命令提示字元] 視窗中輸入下列命令。

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

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

其他資訊

有許多方式可以建立遠端偵錯,而不是本主題所示的偵錯。 如需在 WinDbg 偵錯工具命令視窗中設定偵錯伺服器的完整資訊,請參閱 .server (建立偵錯伺服器) 。 如需在命令列啟動 WinDbg (和建立遠端偵錯) 的完整資訊,請參閱 WinDbg Command-Line 選項