Share via


手動透過序列纜線設定內核模式偵錯

適用於 Windows 的偵錯工具支援透過 Null 數據機纜線進行核心偵錯。 Null 數據機纜線是已設定為在兩個序列埠之間傳送數據的序列纜線。 請勿混淆 Null 數據機纜線與標準序列纜線。 標準序列纜線不會彼此連接序列埠。 如需 Null 數據機纜線如何有線的詳細資訊,請參閱 Null-數據機纜線。

執行調試程式的計算機稱為 主計算機,而偵錯的計算機稱為 目標計算機

設定目標電腦

重要

使用 bcdedit 變更開機資訊之前,您可能需要暫時暫停測試計算機上的 Windows 安全性功能,例如 BitLocker 和安全開機。 完成偵錯並停用核心偵錯后,您可以重新啟用安全開機。

  1. 在目標計算機上,以 管理員 istrator 開啟命令提示字元視窗,然後輸入下列命令,其中 n 是用於在目標電腦上偵錯的 COM 埠數目,而 rate 是用於偵錯的傳輸速率:

    bcdedit /debug on

    bcdedit /dbgsettings serial debugport:nbaudrate:rate

    注意 主計算機和目標電腦上的傳輸速率必須相同。 建議的費率為 115200。

  2. 重新啟動目標計算機。

啟動偵錯會話

連線 您選擇在主機和目標計算機上偵錯之 COM 埠的 Null 數據機纜線。

使用 WinDbg

在主計算機上,開啟 WinDbg。 在 [檔案] 功能表上,選擇 [核心偵錯]。 在 [核心偵錯] 對話框中,開啟 [COM] 索引標籤。在 [包率] 方塊中,輸入您選擇偵錯的速率。 在 [] 方塊中,輸入 COMn,其中 n 是您選擇在主計算機上偵錯的 COM 埠號碼。 選取 [確定]。

您也可以在命令提示字元視窗中輸入下列命令,以使用 WinDbg 啟動工作階段; n 是用於在主計算機上偵錯的 COM 連接埠數目,而 rate 是用於偵錯的傳輸速率:

windbg -k com:port=COMn,baud=rate

使用 KD

在主計算機上,開啟 [命令提示字元] 視窗,然後輸入下列命令,其中 n 是用於在主計算機上偵錯的 COM 埠數目,而 rate 是用於偵錯的包速率:

kd -k com:port=COMn,baud=rate

使用環境變數

在主計算機上,您可以使用環境變數來指定 COM 埠和包機率。 然後,您不需要在每次啟動偵錯會話時指定埠和包速率。 若要使用環境變數來指定 COM 埠和傳輸速率,請開啟 [命令提示字元] 視窗並輸入下列命令,其中 n 是主計算機上用於偵錯的 COM 埠數目,而 rate 是用於偵錯的傳輸速率:

  • set _NT_DEBUG_PORT=COMn
  • set _NT_DEBUG_BAUD_RATE=rate

若要啟動偵錯工作階段,請開啟命令提示字元視窗,然後輸入下列其中一個命令:

  • Kd
  • windbg

針對透過序列纜線進行偵錯的 提示 進行疑難解答

在主機和目標上指定正確的 COM 埠

判斷您用於在主機和目標計算機上偵錯的 COM 埠數目。 例如,假設您在主計算機上連線到 COM1 的 Null 數據機纜線,並在目標電腦上連線到 COM2。

在目標計算機上,以 管理員 istrator 開啟命令提示字元窗口,然後輸入 bcdedit /dbgsettings。 如果您在目標電腦上使用 COM2,bcdedit輸出應該會顯示 debugport 2

在主電腦上,當您啟動調試程式或設定環境變數時,請指定正確的 COM 連接埠。 如果您在主計算機上使用 COM1,請使用下列其中一種方法來指定 COM 連接埠。

  • 在 WinDbg 的 [核心偵錯] 對話框中,於 [埠] 方塊中輸入 COM1。
  • windbg -k com:port=COM1, ...
  • kd -k com:port=COM1, ...
  • set _NT_DEBUG_PORT=COM1

主機和目標上的Baud速率必須相同

用於透過序列纜線進行偵錯的傳輸速率必須設定為主機和目標電腦上的相同值。 例如,假設您已選擇 115200 的包速率。

在目標計算機上,以 管理員 istrator 開啟命令提示字元窗口,然後輸入 bcdedit /dbgsettings。 bcdedit輸出應該會顯示 baudrate 115200

在主電腦上,當您啟動調試程式或設定環境變數時,請指定正確的包速率。 使用下列其中一種方法來指定 115200 的包速率。

  • 在 WinDbg 的 [核心偵錯] 對話框中,於 [包速率] 方塊中輸入 115200。
  • windbg -k ..., baud=115200
  • kd -k ..., baud=115200
  • set _NT_DEBUG_BAUD_RATE=115200

Null 數據機纜線

下表顯示 Null 數據機纜線的有線方式。

9 針腳連接器

連線 or 1 連線 or 2 訊號
2 3 Tx - Rx
3 2 Rx - Tx
7 8 RTS - CTS
8 7 CTS - RTS
4 1+6 DTR - (CD+DSR)
1+6 4 (CD+DSR) - DTR
5 5 訊號地面

25 針腳連接器

連線 or 1 連線 or 2 訊號
2 3 Tx - Rx
3 2 Rx - Tx
4 5 RTS - CTS
5 4 CTS - RTS
6 20 DSR - DTR
20 6 DTR - DSR
7 7 訊號地面

訊號縮寫

縮寫 訊號
Tx 傳輸數據
Rx 接收資料
RTS 傳送的要求
CTS 清除以傳送
DTR 數據終端機就緒
DSR 數據集就緒
CD 貨運公司偵測

其他資訊

如需 bcdedit 命令的完整檔,請參閱 BCDEdit 選項參考

另請參閱

手動設定核心模式偵錯