Win7 藍畫面 (BSOD) 後會在 `C:\Windows\Minidump` 產生 `.dmp` 檔案,記錄崩潰時的記憶體狀態。雙擊無法開啟,需使用 Microsoft 官方 WinDbg (Windows Debugger) 分析,找出導致藍畫面的驅動程式/模組。
工具準備
- 下載 Windows SDK 或獨立 Debugging Tools for Windows (包含 WinDbg)
官方下載:Windows SDK → 安裝時僅勾選 "Debugging Tools"
- 安裝完成後,開始選單會出現 Debugging Tools for Windows (x86) / (x64) → 選擇與系統位元數相符的 WinDbg

開啟 .dmp 分析步驟
- 開啟 WinDbg (建議以管理員身分執行)
- 選單 File → Open Crash Dump (或 `Ctrl`+`D`) → 選擇 `.dmp` 檔案 (通常在 `C:\Windows\Minidump\` 或 `C:\Windows\MEMORY.DMP`)
- 提示「Open this dump file as a workspace?」→ 點 Yes

關鍵分析指令 (命令列底部輸入)
| 指令 | 用途 | 輸出關鍵資訊 |
| `!analyze -v` | 自動完整分析 (最常用) | BUGCHECK_CODE、BUGCHECK_STR、MODULE_NAME (故障驅動/模組)、IMAGE_NAME、STACK_TEXT (呼叫堆疊) |
| `lm` | 列出載入模組 | 驅動程式名稱、載入位址、時間戳記、路徑 |
| `kv` | 顯示堆疊回溯 (含框架指標) | 函式呼叫鏈、引數、返回位址 |
| `!thread` | 當前執行緒資訊 | 執行緒狀態、優先權、等待物件 |
結果解讀速查
- MODULE_NAME / IMAGE_NAME = nvlddmkm.sys → NVIDIA 顯卡驅動 → 更新/降級/乾淨安裝驅動
- = ntoskrnl.exe / ntkrnlmp.exe → 核心本身,通常非核心問題,往上看堆疊找真正肇因驅動
- = usbport.sys / usbxhci.sys → USB 控制器/裝置 → 更新晶片組/USB 驅動、拔除可疑 USB 裝置
- = memory_corruption / hardware → 記憶體硬體錯誤 → 執行 `mdsched.exe` (Windows 記憶體診斷) 或 MemTest86
- BUGCHECK_CODE 常見: 0x7E (SYSTEM_THREAD_EXCEPTION_NOT_HANDLED)、0xD1 (DRIVER_IRQL_NOT_LESS_OR_EQUAL)、0xA (IRQL_NOT_LESS_OR_EQUAL)、0x1E (KMODE_EXCEPTION_NOT_HANDLED)、0x3B (SYSTEM_SERVICE_EXCEPTION)
替代輕量工具:BlueScreenView / WhoCrashed
符號表設定 (WinDbg 正確解析函式名稱需求)
WinDbg 命令列輸入:
.sympath srv*C:\Symbols*https://msdl.microsoft.com/download/symbols
.reload
或選單 File → Symbol File Path 設定上述路徑,`C:\Symbols` 為本地快取資料夾。