共用方式為


使用 KD 進行即時內核模式偵錯

在命令提示字元視窗中,您可以在啟動 KD 時起始即時內核模式偵錯工作階段。 輸入下列其中一個命令。

kd [-y SymbolPath] -k net:port=PortNumber,key=Key[,target=TargetIPAddress|TargetHostName]

kd [-y SymbolPath] -k usb:targetname=USBString

kd [-y SymbolPath] -k com:port=ComPort,baud=BaudRate

kd [-y SymbolPath] -k com:ipport=SerialTcpIpPort,port=SerialIPAddress

kd [-y SymbolPath] -k com:pipe,port=\\VMHost\pipe\PipeName[,resets=0][,reconnect]

kd [-y SymbolPath] -k com:調製解調器

kd [-y SymbolPath] -kl

kd [-y SymbolPath] -k

如需詳細資訊,請參閱 KD 命令行選項

環境變數

若要透過序列 (COM 埠) 連線進行偵錯,您可以使用環境變數來指定連線設定。

使用下列變數來指定序列連接。

set _NT_DEBUG_PORT = ComPort

set _NT_DEBUG_BAUD_RATE = BaudRate

如需詳細資訊,請參閱 內核模式環境變數

參數

SymbolPath
符號檔所在的目錄清單。 清單中的目錄會以分號分隔。 如需詳細資訊,請參閱 符號路徑

PortNumber
要用於網路偵錯的埠號碼。 您可以選擇 49152 到 65535 的任何數位。 如需詳細資訊,請參閱 手動設定網路連線。

鑰匙
要用於網路偵錯的加密金鑰。 我們建議您使用自動產生的金鑰,當您設定目標計算機時,bcdedit 會提供此金鑰。 如需詳細資訊,請參閱 手動設定網路連線。

TargetIPAddress
目標計算機的 IPv4 位址。

指定 target= IP 位址時,這會導致調試程式藉由將特殊封包傳送至目標,以起始與指定目標計算機的連線,而導致它嘗試與該調試程序連線。 調試程式會每隔半秒重複將封包傳送至目標,並嘗試連線。 如果連線成功,目標會卸除任何現有的連線,並只與調試程式的這個實例通訊。 這可讓您從現有的偵錯連線中控制偵錯會話。

當目標設定為主機 IP 位址,且調試程式正在具有已設定主機 IP 位址的計算機上執行時,就不需要指定 target= IP 位址參數。 當目標設定為主機 IP 位址時,它會每隔三秒將 OFFER 封包傳送給主機。 未指定 target= IP 位址時,OFFER 封包可讓調試程式連線到主機。

如需在目標上設定主機 IP 位址的詳細資訊,請參閱 設定 KDNET 網路核心偵錯自動手動設定 KDNET 網路核心偵錯。

TargetMachineName
目標計算機的機器名稱。 若要使用計算機名稱,網路上的 DNS 系統必須具有與目標電腦的 IP 位址相關聯的電腦名稱。

USBString
USB 連接字串。 這必須符合以 /targetname 開機選項指定的字串。 如需詳細資訊,請參閱 設定 USB 3.0 xHCI-DBC 內核模式偵錯 (KDUSB)

ComPort
COM 埠的名稱。 這可以是格式 「com2」 或格式為 「\.\com2」,但不應該只是數位。 如需詳細資訊,請參閱 手動設定序列連線。

BaudRate
傳輸速率。 這可以是 9600、19200、38400、57600 或 115200。

VMHost
偵錯虛擬機時, VMHost 會指定虛擬機執行所在的實體計算機名稱。 如果虛擬機在與核心調試程式本身相同的計算機上執行,請針對 VMHost 使用單一期間 (.)。 如需詳細資訊,請參閱 設定虛擬機的連線。

PipeName
虛擬機為偵錯連線建立的管道名稱。

resets=0
指定當主機和目標正在同步處理時,可以傳送無限數量的重設封包到目標。 只有在偵錯特定類型的虛擬機時,才需要此參數。

重新
如果發生讀取/寫入失敗,調試程式會自動中斷連線,並重新連接管道。 此外,如果在啟動調試程式時找不到命名管道,重新連接參數將會導致它等候此名稱的管道出現。 只有在偵錯特定類型的虛擬機時,才需要此參數。

-kl
讓調試程式執行本機內核模式偵錯。 如需詳細資訊,請參閱 本機內核模式偵錯

SerialTcpIpPort
模擬序列 COM 埠的目標 TCP IP 埠。

SerialIPAddress
模擬序列 COM 埠的目標 TCP IP 位址。

例子

下列批處理檔可用來設定和啟動透過 COM 埠連線的偵錯會話。

set _NT_SYMBOL_PATH=d:\mysymbols
set _NT_DEBUG_PORT=com1
set _NT_DEBUG_BAUD_RATE=115200
set _NT_DEBUG_LOG_FILE_OPEN=d:\debuggers\logfile1.log
kd

下列命令行可用來啟動 WinDbg,而不需要任何環境變數。

kd -y d:\mysymbols -k com:port=com2,baud=57600

kd -y d:\mysymbols -k com:port=\.\com2,baud=115200

kd -y d:\mysymbols -k net:port=50000,key=AutoGeneratedKey