
當電腦 Windows 當遇到意外的嚴重錯誤時,系統通常會顯示可怕的藍色螢幕,也稱為 BSOD(藍色畫面死機)。雖然對許多用戶來說,這種錯誤可能看起來像是系統崩潰了,但它實際上可以成為了解系統問題的途徑。得益於像 WinDbg的 現在,透過系統產生的轉儲文件,可以相當精確地診斷問題的根源。
本文是 詳細指南,幫助您了解 .dmp 檔案是什麼以及如何使用 WinDbg 分析它們 以及我們可以使用哪些其他資源來識別 BSOD 錯誤的原因。如果您遇到意外重啟、隨機崩潰或無法解釋的藍屏,這裡有一個完整的指南來幫助您排除故障並解決問題。
什麼是 BSOD 以及原因是什麼?
當 Windows 因嚴重錯誤而無法繼續運作時,就會出現 BSOD。此時,系統停止運行,顯示技術訊息,並預設產生記憶體轉儲檔案。 該文件包含了解問題所在所需的重要數據:載入的驅動程式、處理器上下文、正在運行的執行緒等等。
BSOD 最常見的原因可能包括:
記憶體轉儲檔案包含什麼?
.dmp(轉儲)檔案包含 故障時系統狀態的關鍵訊息。該檔案允許您幾乎逐幀播放錯誤發生之前發生的事件。它儲存的資料包括:
- El 停止程式碼及其參數.
- 名單 主動系統驅動程式 發生錯誤時。
- 處理器上下文 和內核(PRCB、EPROCESS、ETHREAD)。
- 核心模式呼叫堆疊 活動過程。
這可以訪問 非常準確地描繪出系統哪些部分導致了衝突.
在哪裡可以找到轉儲文件
根據系統配置,轉儲儲存在以下路徑:
- C:\Windows\Minidump\:小型轉儲(minidump)。
- C:\Windows\MEMORY.DMP:核心轉儲或完整轉儲。
若要查看或變更設置,請轉至 設定 > 系統 > 資訊 > 進階設定 和訪問 啟動和恢復。您可以在那裡選擇想要產生的轉儲類型。
記憶體轉儲的類型
Windows 可讓您根據詳細程度選擇不同類型的轉儲:
- 完全轉儲:捕獲所有系統 RAM。非常詳細,但是很重。
- 核心轉儲:僅作業系統的必要部分。細節和尺寸之間的平衡。
- 小型轉儲:僅顯示最少的訊息,例如錯誤和堆疊。它通常佔用大約 64 KB。
為了使完整轉儲正常運作, 分頁檔案必須與系統位於同一分區 並且必須有足夠的磁碟空間。
WinDbg簡介

WinDbg的 是微軟開發的除錯工具。它是免費的,可以從 微軟商店 如 WinDbg 預覽版。其更新的介面使分析過程更加直觀。
該應用程式可讓您讀取記憶體轉儲、解釋錯誤並顯示哪些驅動程式或進程涉及故障。
讓 WinDbg 提供有用資訊的關鍵之一是新增路徑 符號 來自微軟。這使得功能和結構在分析過程中能夠被正確地識別。
WinDbg 的初始配置
從 Microsoft Store 下載 WinDbg Preview 後:
- 從「開始」功能表或 Windows 搜尋開啟該應用程式。
- 去吧 檔案 > 設定 > 偵錯設定.
- En 預設符號路徑中,輸入以下內容:
srv*https://msdl.microsoft.com/download/symbols - 點擊 OK 儲存設定。這將允許在分析期間下載適當的符號。
如何在 WinDbg 中開啟和分析轉儲
配置 WinDbg 後,請依照下列步驟操作:
- 去吧 文件>開啟轉儲文件.
- 選擇您要分析的.dmp 檔案。如果你在 C:\Windows\minidump 或者在系統目錄中,您必須以管理員身分開啟 WinDbg。
- 文件載入完成後,輸入指令
!analyze -v然後按 簡介.
WinDbg 將顯示完整的分析,包括錯誤代碼、涉及的文件或模組、故障類型和建議。
分析結果意味著什麼?
之後產生的報告 !analyze -v 將包括以下資訊:
- 錯誤檢查程式碼:BSOD代碼。
- 模組名稱 o 圖片名稱:負責的文件。
- 堆疊文字:呼叫堆疊來了解它是如何到達這一點的。
- IRQL、裝置對象、驅動程式對象:執行元資料。
例如,錯誤如下 驅動程式電源狀態失敗 (0x0000009F),這表明控制器沒有正確響應具有省電功能的系統的狀態變化。
分析範例:USB故障
一些技術論壇上記錄的一個案例展示了 BSOD 是如何發生的 多個 _ IRP _ 完成 _ 請求 指向文件 usbehci.sys。這表明驅動程式存在問題 USB。然而,詳細分析所涉及的 IRP,該文件也出現 ax88172.sys,對應透過USB連接的網路卡。兩位車手之間的衝突導致了事故發生。
這種分析有助於 區分 Microsoft 驅動程式導致的錯誤和第三方硬體或驅動程式導致的錯誤.
使用驅動程式驗證程式
有關 75% 的藍屏 與故障驅動程式有關。多年來,Windows 一直包含一個名為 驅動程式驗證程式。允許您測試活動驅動程式並偵測隱藏的錯誤。
要激活它:
- 以管理員身份開啟控制台(搜尋 CMD 並右鍵單擊)。
- 寫
verifier並按 Enter。 - 選擇該選項來檢查所有未簽名或自訂的驅動程式。
- 出現提示時重新啟動電腦。從那一刻起,系統將即時驗證駕駛員的行為。
建議謹慎使用此工具,因為它可能會降低系統速度,甚至阻止其運作。 開機。如果出現問題,可以停用 安全模式 使用相同的命令 verifier 並選擇“刪除現有設定”。
調試持久性錯誤的技巧
在某些情況下,直接分析轉儲不會得出結論性的結果。對於這些情況,建議收集更多資訊:
- 檢查事件檢視器 查看崩潰日誌。
- 嘗試用 的 LiveCD Linux 如果懷疑有硬體故障。
- 運行類似的工具 MemTest86 檢查 RAM。
- 使用類似程序 BlueScreenView,更加直觀和以最終用戶為導向。
常見的 BSOD 錯誤及其原因
一些錯誤訊息非常常見並且有詳細記錄。以下是一些範例及其通常的含義:
- IRQL不是或等於::控制器故障或記憶體存取不正確。
- 內核模式異常未處理: : 由於硬體或驅動程式導致核心出現錯誤。
- PAGE_FAULT_IN_NONPAGED_AREA:存取無效的記憶體位址。
- DRIVER_IRQL_NOT_LESS_OR_EQUAL:對驅動程式中受限變數的存取不當。
在所有這些情況下,分析中提到的.sys檔案對於確定來源是硬體、系統還是第三方軟體通常至關重要。
如果出現BSOD並且系統重啟,該怎麼辦?
是的。大多數系統都配置為在出現 BSOD 時自動重新啟動。這可能會阻止您看到整個訊息。為了正確顯示和產生轉儲:
- 遊覽 進階系統設定 > 啟動和恢復.
- 取消選取該選項 自動重啟.
- 確保建立記憶體轉儲的選項已啟用。
這樣,下次遇到 BSOD 時,您可以記錄錯誤並確保正確建立 .dmp 檔案以供以後分析。
感謝像這樣的工具 WinDbg的,就完全可以診斷出藍屏錯誤的來源。儘管讀取轉儲文件一開始可能看起來很複雜,但透過適當的設定和一些練習,您可以深入了解系統的內部狀態。 BSOD 分析對於進階使用者和技術人員的故障排除至關重要,可讓他們有效地識別和解決錯誤。
對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。
