舊版 Windows (XP/2003): 需等待會話管理器 (Smss.exe) 初始化分頁檔案後,才能建立核心傾印檔。但大量驅動程式在 Smss.exe 啟動**前**就已初始化 (啟動類型為 "Boot"),早期開機藍畫面無法產生傾印檔,排查極難。
Vista 改進: 在所有「Boot」類型驅動載入完成、**「System」類型驅動載入前**,即初始化傾印支援。並以 **64 KB 區塊**寫入傾印檔 (舊版 4 KB),大容量記憶體傾印速度提升 **10 倍**。
結果:開機早期藍畫面也能產生傾印檔,微軟線上故障分析 (OCA) 可自動分析回報根因。
舊架構 (XP): 應用程式崩潰 → 執行例外處理常式 → 載入 DWWIN.EXE (應用程式錯誤報告) → 顯示錯誤對話框。
**缺陷:** 若主執行緒堆疊損毀,例外處理常式本身崩潰,錯誤對話框無法顯示,使用者不知發生何事,無法回報。
Vista 新架構:
svchost.exe 內,實作為 wersvc.dll)。WerFault.exe 顯示錯誤報告對話框 (獨立於崩潰進程)。WerFault.exe。**關鍵優勢:** 錯誤報告 UI 與崩潰進程分離,即使主執行緒堆疊完全損毀,仍能可靠顯示錯誤對話框、收集傾印、上傳微軟分析。
Accvio.exe (測試程式) 直接啟動 DWWIN.EXE,共用進程空間。Accvio.exe 崩潰 → svchost.exe (WER 服務) 啟動 WerFault.exe,完全隔離。%SystemRoot%\MEMORY.DMP (核心完整傾印)、%SystemRoot%\Minidump\*.dmp (小型傾印)。%LocalAppData%\CrashDumps\ (需登錄啟用 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps)。Computer Configuration\Administrative Templates\Windows Components\Windows Error Reporting (強制佇列模式、不顯示 UI、指定伺服器等)。Vista 將故障處理從「進程內」移至「服務層」,並大幅提前核心傾印可用時機,奠定了現代 Windows (7/8/10/11) 穩健診斷基礎。理解此架構有助於正確設定傾印類型、分析藍畫面/應用程式崩潰根因。