本機 Kernel-Mode 偵錯

適用于 Windows 的偵錯工具支援 本機核心偵錯。 這是單一電腦上的核心模式偵錯。 換句話說,偵錯工具會在正在偵錯的同一部電腦上執行。

設定本機 Kernel-Mode 偵錯

如需設定本機核心模式偵錯的資訊,請參閱 手動設定單一電腦的本機 Kernel-Mode偵錯。

啟動偵錯會話

使用 WinDbg

以系統管理員身分開啟 WinDbg。 在 [ 檔案] 功能表上,選擇 [ 核心偵錯]。 在 [核心偵錯] 對話方塊中,開啟 [ 本機 ] 索引標籤。選取 [確定]。

您也可以以系統管理員身分開啟命令提示字元視窗,然後輸入下列命令,以啟動與 WinDbg 的會話:

windbg -kl

使用 KD

以系統管理員身分開啟命令提示字元視窗,然後輸入下列命令:

kd -kl

無法使用的命令

並非所有命令都可在本機核心偵錯會話中使用。 一般而言,您無法使用任何會導致目的電腦停止的命令,甚至暫時停止,因為您無法繼續作業。

特別是,您無法使用下列命令:

  • 執行命令,例如 g (Go) p (Step ) 、 t (Trace ) 、 wt (Trace 和 Watch Data ) 、 tb (Trace to Next Branch ) 、 gh (Go with Exception Handled ) ,以及 gn (Go 與例外狀況未處理)

  • 關機和傾印檔案命令,例如 .crash.dump.reboot

  • 中斷點命令,例如 bpbubabcbdbebl

  • 註冊顯示命令,例如 r 和變化

  • 堆疊追蹤命令,例如 k 和變化

如果您要使用 WinDbg 執行本機核心偵錯,則所有對等功能表命令和按鈕也無法使用。

可用的命令

所有記憶體輸入和輸出命令都可供使用。 您可以自由讀取使用者記憶體和核心記憶體。 您也可以寫入記憶體。 請確定您不會寫入核心記憶體的錯誤部分,因為它可能會損毀資料結構,而且經常會導致電腦停止回應 (,也就是 當機) 。

執行本機核心偵錯的困難

本機核心偵錯是非常棘手的作業。 請小心,您不會損毀或損毀系統。

本機核心偵錯的最困難層面之一是電腦狀態不斷變更。 記憶體會分頁並移出、作用中的進程不斷變更,而虛擬位址內容不會維持不變。 不過,在這些情況下,您可以有效地分析變慢的專案,例如特定裝置狀態。

核心模式驅動程式和 Windows 作業系統通常會使用 DbgPrint 和相關函式,將訊息傳送至核心偵錯工具。 這些訊息不會在本機核心偵錯期間自動顯示。 您可以使用 !dbgprint 延伸模組來顯示它們。

LiveKD

LiveKD 工具會模擬本機核心偵錯。 此工具會建立核心記憶體的「快照集」傾印檔案,而不會在此快照集建立時實際停止核心。 (因此,快照集可能不會實際顯示 computer.) 的單一立即狀態

LiveKD 不是 Windows 套件偵錯工具的一部分。 您可以從 Windows Sysinternals 網站下載 LiveKd