適用於 Windows 的偵錯工具支援 本機核心偵錯。 這是單一電腦上的內核模式偵錯。 換句話說,調試程式會在正在偵錯的同一部計算機上執行。
設定本機 Kernel-Mode 偵錯
如需設定本機核心模式偵錯的相關資訊,請參閱 手動設定單一電腦的本機 Kernel-Mode 偵錯。
啟動偵錯會話
使用 WinDbg
以系統管理員身分開啟 WinDbg。 在 [檔案] 功能表上,選擇 [核心偵錯]。 在 [核心偵錯] 對話框中,開啟 [本機] 標籤頁。按一下 [確定]。
您也可以以系統管理員身分開啟命令提示字元視窗並輸入下列命令,以啟動 WinDbg 工作階段:
windbg -kl
使用 KD
以系統管理員身分開啟命令提示字元視窗,然後輸入下列命令:
kd -kl
無法使用的命令
並非所有命令都在本機核心偵錯會話中可用。 一般而言,您無法使用任何導致目標電腦停止的命令,即使是暫時停止,因為您無法繼續作業。
特別是,您不能使用下列命令:
執行指令,例如 g (前進)、p (步進)、t (追蹤)、wt (追蹤和監視資料)、tb (追蹤到下一個分支)、gh (前進並處理例外) 和 gn (前進但不處理例外)
關機和傾印檔案命令,例如 .crash、 .dump 和 .reboot
中斷點指令,例如 bp、bu、ba、bc、bd、be 及 bl
顯示指令,例如 r 和其變體
堆疊追蹤命令,例如 k 和其變體
如果您使用 WinDbg 執行本機核心偵錯,所有對等的功能表命令和按鈕也無法使用。
可用的指令
所有記憶體輸入和輸出命令都可用。 您可以自由地從用戶內存和內核內存中讀取。 您也可以寫入記憶體。 請確定您沒有寫入核心記憶體的錯誤部分,因為它可能會損壞資料結構,並經常導致電腦停止回應 (,即 當機) 。
執行本機核心偵錯的困難
本地核心調試是一項非常精細的操作。 請小心不要損壞或崩潰系統。
本機核心調試最困難的方面之一是機器狀態不斷變化。 記憶體會分頁進入和分頁送出,活躍的進程不斷變更,虛擬位址環境不會保持不變。 但是,在這些條件下,您可以有效地分析變化緩慢的事物,例如某些設備狀態。
核心模式驅動程式和 Windows 作業系統經常使用 DbgPrint 和相關函式將訊息傳送至核心偵錯工具。 在本機核心偵錯期間,不會自動顯示這些訊息。 您可以使用 !dbgprint 延伸模組來顯示它們。
LiveKD
LiveKD 工具會模擬本機核心偵錯。 此工具會建立核心記憶體的「快照」傾印檔案,而不會在建立此快照時實際停止核心。 (因此,快照集實際上可能不會顯示電腦的單一即時狀態。
LiveKD 不是適用於 Windows 套件的偵錯工具的一部分。 您可以從 Windows Sysinternals 網站下載 LiveKd 。