pretty code

2023年9月22日 星期五

KMODE_EXCEPTION_NOT_HANDLED

公司電腦從上星期安裝某個更新後,在自動時間內重開機安裝更新時就發生不明錯誤,接著便會一直在打完密碼進入桌面後發生 blue screen,因為沒有管理者權限,沒辦法做些修復的動作,只能選擇移除先前的更新,但還是會一直重開機,故最後選擇關機先去吃飯,過了一個多小時回來後開機便正常,接著將剛移除的兩個更新安裝回來,這次便不需重開機便可以安裝完畢。


昨天在 Youtube 看 RISC-V 訪談影片時電腦又無預警當機,一樣在重開機無數次後,選擇關機等待幾分鐘的方式來解決此問題。


從上面可以看到,dump file 位在 C:\Windows,我們需要 WinDbg 工具才可以看些東西,可以選擇在 Windows SDK 中只安裝 debug tool 的方式來取得工具。

開啟 WinDbg -> File -> Open Crash Dump,選擇檔案位置,然後在下面指令列中下!analyze -v 便可以做初步分析。


我這個錯誤的參數 1 如下所述,但我不是做底層的,即使 trace stack 對我來說也看不出什麼東東?目前先這樣吧,反正我會覺得比較像記憶體的問題,故使用冷開機的方式便可以恢復正常。


0x80000003:STATUS_BREAKPOINT
未將核心偵錯工具附加至系統時,遇到中斷點或 ASSERT。

剛試著在重開機時執行記憶體診斷工具,目前確實是有問題,等有空再來跑 MemTest86。


2023/09/22 下午更新

早上想想還是跑 MT86 確認好了,果不期然發生很多錯誤,錯誤都集中在 bit1, bit31。總共跑了快 4 個小時。


由於不是主機板廠商,也不確定 UEFI 的 memory mapping 是否可以看出錯誤位址屬於哪一根 DIMM,只好使用老辦法一根一根做測試,還好透過先前的 MT86,我們可以得知問題多半來自 Test 7, Test 8,這次就只針對這兩個選項跑即可。

原本認為是 9 年多前公司採購電腦那根 DIMM 有問題,但直到跑完一個錯誤都沒看到,幸好在跑我幾年前自己買的那根 DIMM 時真的會看到錯誤(2019/09/24 購買)。


解決方式也很簡單,先把有問題的 DIMM 移除即可。

2023/09/25 更新

MemTest86 v10 以上,配合支援的 chipset,可以 decode error DIMM(>= DDR4),簡言之,會告訴你是哪一個插槽的哪一個 rank 有問題,詳此處

沒有留言: