Windows 彈出錯誤對話框時,許多使用者只會無奈點「確定」或重開機。其實錯誤訊息蘊含關鍵線索,能指引精準排查。本文聚焦兩大經典錯誤——「非法操作」與「虛擬記憶體太低」,剖析其觸發機制、硬軟體成因與應對策略。
對話框提示:「<程式名稱> 發生錯誤,將被關閉…」或「例外狀況 0xc0000005 (Access Violation) 於位址 0xXXXXXXXX」。未儲存資料遺失,工作中斷。
| 層面 | 典型原因 | 排查方向 |
|---|---|---|
| 軟體 | 程式碼缺陷:空指標解參考、緩衝區溢位、未處理例外 | 更新程式版本、檢查開發商論壇、重裝程式 |
| DLL 衝突/版本不符:多程式共用 DLL 卻版本不同 (DLL Hell) | 使用 SxS 組件存放區、重新註冊 DLL (regsvr32)、程式隔離部署 | |
| 相容性問題:舊程式在新版 Windows 運行 (如 16-bit 程式於 64-bit OS) | 相容模式、虛擬機 (XP Mode)、尋找替代軟體 | |
| 惡意程式注入/掛鉤:Hook API、修改 IAT、Shellcode 執行 | 全盤掃毒、EDR 檢測、完整性驗證 (sigcheck) | |
| 硬體 | 記憶體錯誤:Bit flip 導致指令/資料損壞 | MemTest86 長測、ECC 記憶體、更換模組 |
| CPU 過熱/超頻不穩:運算錯誤觸發例外 | 監控溫度、降頻/預設值、更換散熱 | |
| 硬碟壞軌/檔案系統損毀:程式碼頁讀取失敗 | chkdsk /r、S.M.A.R.T. 檢測、備份換盤 | |
| 主機板/電源供電不穩:電壓波動導致邏輯錯誤 | 萬用表量測、換電源/主板 |
「系統虛擬記憶體太低…部分應用程式的記憶體要求會被拒絕」。實際 RAM 可能仍有餘裕,但**分頁檔已達上限**或**系統資源 (User/GDI Objects) 耗盡**。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\Windows 中 `SharedSection` 第三參數 (預設 512/1024 → 增至 2048/3072)、**需謹慎修改並備份**。sfc /scannow + DISM /Online /Cleanup-Image /RestoreHealth。錯誤訊息不是攔路虎,而是導航燈。養成「記錄代碼 → 查詢意義 → 定位層面 → 精準修復」的習慣,能將排查時間從小時壓縮至分鐘。