Windows藍屏dump文件查看器

轉自:http://ldg088.blog.163.com/blog/static/792318942010111534828666/


Windbg-分析Windows藍屏原因利器[轉]
下載地址
先聲明下,雖然用windbg診斷藍屏之前網絡上已經有人發過教程了,但就我而言, 學會使用windbg來診斷藍屏也算是自己的原創吧。以前看一個微軟專家的視頻(微軟專家張銀奎老師的《如何診斷和調試藍屏錯誤》),專家提到可以用 windbg來調試dump文件,當時我就想能不能只關注是什麼文件導致的系統崩潰,然後對症下藥。後來通過一系列的實驗,自己摸索出了用windbg診 斷藍屏的方法,成功解決了包括KIS7.0插件、QQ插件、迅雷插件導致的藍屏。廢話就不多說了,本文沒什麼高深的技術,只是一些簡單的操作,但應該可以 讓身陷藍屏困擾中的朋友帶來些變化,起碼能讓你知道是誰在搗亂!
  
   直觀地說,藍屏是系統崩潰。操作系統在遇到致命錯誤導致崩潰時,並不是直接掛掉,而是會記錄下當時內存中的數據,將其存儲成爲dump文件,並用一串藍屏代碼向用戶做出提示。
  
   好了,大家跟我一起設置吧。
  
   第一步,打開電腦的dump文件存儲功能。在“我的電腦”上右鍵——屬性——高級  

Windows藍屏dump文件查看器 - 香皂 - 香皂

Windows藍屏dump文件查看器 - 香皂 - 香皂


   選好後點確定,下次再出現藍屏時,系統就會存儲下dump文件,一般存放位置在系統盤的minidump文件夾下。(建議在該文件夾上點右鍵——屬性——發送到——桌面快捷方式,以後就能在桌面上找到該文件夾了)

第二步,下載安裝windbg
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx#a
這個過程就不說了,隨便選一個下載,安裝時,一路“下一步”就行了。

第三步,使用windbg診斷藍屏錯誤
   上面兩步設好後,就想辦法開始“製造”藍屏吧,平時怎麼用會出現藍屏就拼命用直到出現藍屏,嘿嘿。
  
   藍屏後重啓,在minidump文件夾下會出現一個以日期爲文件名的東東,那就是我們要的了。接下來打開windbg,點屏幕左下的 “開始”,如下圖:
Windows藍屏dump文件查看器 - 香皂 - 香皂


軟件啓動點File——Open Crash Dump,如圖:
Windows藍屏dump文件查看器 - 香皂 - 香皂


然後找到你的minidump文件夾,dump文件一般是"時間.dmp"如圖:

Windows藍屏dump文件查看器 - 香皂 - 香皂


打開後就會自動分析了。分析完後,看最下面,找到3.probably caused by這一行,如圖:

看,出來了吧那個myfault.sys文件就是罪魁禍首。

再補充點東西,

導入dump文件分析完畢後,不要關閉,在後面輸入 !analyze -v ,這個命令可以查看dump文件的詳細情況,如圖:

Windows藍屏dump文件查看器 - 香皂 - 香皂


對普通用戶有用的還有下面一些信息:


第一行 DEFAULT_BUCKET_ID: 錯誤類型,這個懂點編程和操作系統知識的朋友用得上點
第 三行 PROCESS_NAME: XXX.exe 這個是導致錯誤的進程,查出是什麼文件導致的藍屏後,再看這裏就知道是誰調用了錯誤文件,比如你查出123.sys導致藍屏,但你查不到123.sys是 哪個程序調用的,就可以用這個方法來看看,比如查出了是456.exe,你就可以在機子上或者網上搜索相關信息了。


好了,到這裏 相信大家已經學會怎麼找到導致系統藍屏的文件了,接下來怎麼辦呢?上網查資料,把導致藍屏的那個文件名在網上搜索,基本就知道是什麼文件了,一般網上也有 相關的解決辦法,看看要刪除些什麼插件、打什麼補丁或者重裝軟件等等。導致問題的不一定是.sys文件也有可能是.dll,這篇文章只能幫你找出導致藍屏 的元兇,具體的解決辦法得上網查。如果是查不到什麼信息的.sys或者.dll就要當心了,有可能是病毒或者rootkit

附:
windbg基本調試命令:
r 可以顯示系統崩潰時的寄存器,和最後的命令狀態。
dd 顯示當前內存地址,dd 參數:顯示參數處的內存。
u 可以顯示反彙編的指令
!analyze -v 顯示分析的詳細信息。
kb 顯示call stack 內容
.bugcheck 可以顯示出錯的代碼

windbg診斷藍屏的一點補充

導入dump文件分析完畢後,不要關閉,在後面輸入!analyze -v,這個命令可以查看dump文件的詳細情況,如圖:
Windows藍屏dump文件查看器 - 香皂 - 香皂



對普通用戶有用的還有下面一些信息:
Windows藍屏dump文件查看器 - 香皂 - 香皂


第一行 DEFAULT_BUCKET_ID: 錯誤類型,這個懂點編程和操作系統知識的朋友用得上點
第 三行 PROCESS_NAME: XXX.exe 這個是導致錯誤的進程,查出是什麼文件導致的藍屏後,再看這裏就知道是誰調用了錯誤文件,比如你查出123.sys導致藍屏,但你查不到123.sys是 哪個程序調用的,就可以用這個方法來看看,比如查出了是456.exe,你就可以在機子上或者網上搜索相關信息了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章