共用方式為


本機內核模式偵錯

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

設定本機 Kernel-Mode 偵錯

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

啟動偵錯會話

使用 WinDbg

以系統管理員身分開啟 WinDbg。 在 [檔案] 功能表上,選擇 [核心偵錯]。 在 [核心偵錯] 對話框中,開啟 [本機] 標籤頁。按一下 [確定]

您也可以以系統管理員身分開啟命令提示字元視窗並輸入下列命令,以啟動 WinDbg 工作階段:

windbg -kl

使用 KD

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

kd -kl

無法使用的命令

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

特別是,您不能使用下列命令:

  • 執行指令,例如 g (前進)p (步進)t (追蹤)wt (追蹤和監視資料)tb (追蹤到下一個分支)gh (前進並處理例外)gn (前進但不處理例外)

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

  • 中斷點指令,例如 bpbubabcbdbebl

  • 顯示指令,例如 r 和其變體

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

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

可用的指令

所有記憶體輸入和輸出命令都可用。 您可以自由地從用戶內存和內核內存中讀取。 您也可以寫入記憶體。 請確定您沒有寫入核心記憶體的錯誤部分,因為它可能會損壞資料結構,並經常導致電腦停止回應 (,即 當機) 。

執行本機核心偵錯的困難

本地核心調試是一項非常精細的操作。 請小心不要損壞或崩潰系統。

本機核心調試最困難的方面之一是機器狀態不斷變化。 記憶體會分頁進入和分頁送出,活躍的進程不斷變更,虛擬位址環境不會保持不變。 但是,在這些條件下,您可以有效地分析變化緩慢的事物,例如某些設備狀態。

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

LiveKD

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

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