手動透過序列纜線設定內核模式偵錯
適用於 Windows 的偵錯工具支援透過 Null 數據機纜線進行核心偵錯。 Null 數據機纜線是已設定為在兩個序列埠之間傳送數據的序列纜線。 請勿混淆 Null 數據機纜線與標準序列纜線。 標準序列纜線不會彼此連接序列埠。 如需 Null 數據機纜線如何有線的詳細資訊,請參閱 Null-數據機纜線。
執行調試程式的計算機稱為 主計算機,而偵錯的計算機稱為 目標計算機。
設定目標電腦
重要
使用 bcdedit 變更開機資訊之前,您可能需要暫時暫停測試計算機上的 Windows 安全性功能,例如 BitLocker 和安全開機。 完成偵錯並停用核心偵錯后,您可以重新啟用安全開機。
在目標計算機上,以系統管理員身分開啟命令提示字元視窗,並輸入下列命令,其中 n 是用於目標計算機上偵錯的 COM 連接埠數目,而 rate 是用於偵錯的包速率:
bcdedit /debug on
bcdedit /dbgsettings serial debugport:n baudrate:rate
注意 主計算機和目標電腦上的傳輸速率必須相同。 建議的費率為 115200。
重新啟動目標計算機。
啟動偵錯會話
將 Null 數據機纜線連接到您已選擇在主機和目標電腦上偵錯的 COM 連接埠。
使用 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。
在目標計算機上,以系統管理員身分開啟命令提示字元窗口,然後輸入 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 的包速率。
在目標計算機上,以系統管理員身分開啟命令提示字元窗口,然後輸入 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 針腳連接器
連接器 1 | 連接器 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 針腳連接器
連接器 1 | 連接器 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 選項參考。