程式執行中彈出 指令引用的記憶體無法為 read/written,屬記憶體存取違規。依「硬體 → 系統環境 → 應用程式」三階段排查。
階段一:硬體排除(優先)
- 建立 MemTest86 USB 開機碟,冷開機跑測 ≥ 4 Pass(約 1-2 小時)。
- 若報錯 → 記憶體模組損壞,聯保/更換。
- 若無錯 → 依序檢查:金手指氧化(橡皮擦清潔)、插槽鬆動/髒污、異品牌/容量混用(建議同款組雙通道)、超頻還原預設。
階段二:系統環境修復
- 完整掃毒(Windows Defender 離線掃描 / 第三方救援碟)。
sfc /scannow 修復系統檔案。
DISM /Online /Cleanup-Image /RestoreHealth 修復元件存放區(Win8/10/11)。
- 安裝所有 Windows Update(含選擇性驅動更新)。
- 重建 WMI 儲存庫(針對 0x00000000 高發):
net stop winmgmt
重命名 C:\Windows\System32\wbem\Repository → Repository.old
net start winmgmt(自動重建)
階段三:應用程式層面
- 將問題程式更新至最新正式版(避免 Beta/Preview)。
- 完全解除安裝 → 刪除殘留資料夾/登錄(用 Geek Uninstaller/Revo Uninstaller) → 重新安裝。
- 若為特定舊版程式相容性問題:右鍵執行檔 →「內容」→「相容性」→ 勾選「以相容模式執行」選 Win7/Win8,並勾選「以系統管理員身分執行」。
核心原理回顧
- 動態記憶體配置失敗回傳
NULL (0),程式未檢查直接解參考 → 觸發 OS 保護終止。
- 野指標(使用已釋放/未初始化記憶體)屬程式 Bug,需開發商修補。
硬體無誤 + 系統修復 + 程式更新 = 95% 解決率。