該文章為科普向,如果有哪裡介紹的不好煩請各位補充。
為了保證windbg運行,請自行安裝C/C++運行庫。
名詞解釋
dmp文件 :當系統遇到嚴重錯誤或崩潰時,系統會生成一個DMP文件,記錄當時的內存狀態。這些文件通常包含停止錯誤信息、加載的驅動程序列表、內核、處理器和進程詳細信息等內容,用於排查系統故障和崩潰原因
windbg :微軟提供的一款功能強大的調試工具,專門用於調試 Windows 操作系統中的內核模式和用戶模式程序。通過圖形界面和命令行接口,WinDbg 提供了豐富的調試和分析功能。
啟用藍屏生成dump文件
win11裡面,按下windows鍵,直接輸入
高級系統設置(英文輸入view advance***)
啟用小內存轉儲
因為我是英文系統,大家將就看一下。打開之後,把默認的實時內存轉儲改成小內存轉儲(256kb),這樣之後再藍屏時,系統會收集崩潰信息並轉儲到目錄裡面。
下載windbg
windbg是一個內核級調試工具,分析dump只是眾多功能中一種。他隨著windows sdk發行包一起發行的,也可以去網上找一下,如果找不到的話我評論區置頂發一個藍奏雲的。
使用windbg分析dump
當你啟動MiniDump之後,在發生藍屏之後,會在
C:\Windows\minidump
中產生按照時間命名的dmp文件。把裡面文件複製到其他地方(因為如果就地分析,會產生權限問題)。
這就是為什麼要複製出去再分析
打開windbg.exe把dmp文件直接拖進去,會出現這個界面,當下面一欄裡面顯示Debuggee not connect的時候,請等待一下windbg從微軟服務器裡面獲取調試信息,如果一直停留這個界面(超過10分鐘),最好可以換個網絡再重試。
下面有Debuggee not connected的時候等等
等到下面這樣,出現藍色的!analyse -v的時候,點擊藍色的字,就繼續分析
等待到出現藍色的字
等待下面的*BUSY*字樣消失,開始解讀
複製內容到AI裡面
解讀結果
用AI解讀,我建議用Kimi或者其他你用的順手的都行,把窗口裡面所有信息複製到Kimi裡面,他會告訴你為什麼,由那個進程引發的。
(我這裡找的例子不太好,但是之前清理了dmp文件,只有這個例子了)