windbg內核診斷方式--轉載

1、WinDbg是什麼?它能作什麼?

  WinDbg是在windows平臺下,強大的用戶態和內核態調試工具。它可以經過dmp文件輕鬆的定位到問題根源,可用於分析藍屏、程序崩潰(IE崩潰)緣由,是咱們平常工做中必不可少的一個有力工具,學會使用它,將有效提高咱們的問題解決效率和準確率。數據庫

2、WinDbg6.12.0002.633下載:

x86位版本下載:【微軟官方安裝版windows

  藍屏Dump分析工具WinDbg(x86).rar (13.2 MB, 11,228 次)session

x64位版本下載:【微軟官方安裝版ide

  藍屏Dump分析工具WinDbg(x64).rar (12.4 MB, 9,251 次)工具

3、設置符號表:

  符號表是WinDbg關鍵的「數據庫」,若是沒有它,WinDbg基本上就是個廢物,沒法分析出更多問題緣由。因此使用WinDbg設置符號表,是必需要走的一步。
一、運行WinDbg軟件,而後按【Ctrl+S】彈出符號表設置窗
二、將符號表地址:SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols粘貼在輸入框中,點擊肯定便可。
注:紅色字體爲符號表本地存儲路徑,建議固定路徑,可避免符號表重複下載。學習

1

4、學會打開第一個dmp文件!

2

  當你拿到一個dmp文件後,可以使用【Ctrl+D】快捷鍵來打開一個dmp文件,或者點擊WinDbg界面上的【File=>Open Crash Dump...】按鈕,來打開一個dmp文件。第一次打開dmp文件時,可能會收到以下提示,出現這個提示時,勾選「Don't ask again in this WinDbg session」,而後點否便可。字體


  當你想打開第二個dmp文件時,可能由於上一個分析記錄未清除,致使沒法直接分析下一個dmp文件,此時你可使用快捷鍵【Shift+F5】來關閉上一個dmp分析記錄。this

  至此,簡單的WinDbg使用你已經學會了!3d

5、經過簡單的幾個步驟學會分析一些dmp文件。

分享一個8E藍屏dmp案例的分析過程:
  當你打開一個dmp文件後,可能由於太多信息,讓你無所適從,不過不要緊,咱們只須要關注幾個關鍵信息便可。調試

第一個關鍵信息:System Uptime(開機時間):

  經過觀察這個時間你就能夠知道問題是在何時出現的,例如時間小於1分鐘基本能夠定位爲開機藍屏,反之大於一分鐘則可證實是上機後或玩的過程當中出現問題了。

接下來用一個簡單的例子來學習簡單的dmp分析,下圖中System Uptime: 0 days 0:14:23.581,意思是0天(days)0小時14分23秒581毫秒時出現藍屏了,看來是上機沒多久就藍屏了,這位顧客很悲催……

3

  那麼是什麼致使藍屏的呢?接下來咱們就要注意第二個關鍵信息了!

第二個關鍵信息:Probaly caused by(形成藍屏可能的緣由)

  這個信息是相對比較重要的一個信息,若是你運氣好的話,經過這個信息基本上能夠看到致使藍屏的驅動或者程序名稱了,就像下圖同樣,初步的分析已經有告終果,Probaly caused by後面顯示的是一個名爲KiMsgProtect.sys的驅動文件致使藍屏,這個文件就是恆信一卡通的一個關鍵驅動。所以藍屏則頗有可能和一卡通有關。

括號中驅動文件名後面的+號表明的是偏移地址,假如多個dmp文件的驅動文件名同樣,且偏移地址也同樣,則問題緣由極有多是同一個,這個偏移地址與彙編有關,這裏很少作介紹。

4

  其實,對於分析藍屏dmp並非每次運氣都那麼好,假如剛剛打開dmp文件未看到明確的藍屏緣由時,咱們就須要藉助一個命令來進一步分析dmp,這個命令就是:!analyze -v,這個命令可以自動分析絕大部分藍屏緣由。當初步分析沒有結果時,可使用該命令進一步分析故障緣由,固然你也能夠直接點擊連接樣式的!analyze -v來進行執行該命令,爲了讓你們更直觀的看懂裏面的信息,你們能夠直接看圖片中的註釋信息。

5

6

  看了這麼多信息以後,這個藍屏dmp究竟是怎麼回事呢?根據dmp給出的信息,應該是:顧客上機0天(days)0小時14分23秒581毫秒時,一個名爲PinyinUp.exe觸發了KiMsgProtect.sys這個驅動的一個Bug,致使藍屏。 

  那麼PinyinUp.exe和KiMsgProtect.sys都是哪一個廠商的?通常要知道這個信息,只能去用戶的機器上找了,我去找了以後發現PinyinUp.exe是搜狗輸入法的自動升級程序,KiMsgProtect.sys是恆信一卡通這個計費軟件的驅動,因此這個dmp表示出來的意思看上去是搜狗拼音和恆信一卡通搞在一塊兒,出了問題!固然排除方法很簡單,把搜狗輸入法的自動升級程序刪除掉,再看看是否仍然有藍屏問題發生就ok了!

  學到這裏,基本上已經能夠分析絕大部分dmp文件了,可是分析藍屏dmp要比較謹慎,對信息須要從新驗證一次才更加保險,驗證方法很簡單,在WinDbg的命令輸入框內,輸入!process命令,就能夠驗證觸發藍屏的程序究竟是否正確了。

7

 

運行!process命令後獲得的信息:

8

  至此,掌握以上幾個簡單的分析方法以後,基本上絕大多數dmp你們均可以獨立分析了,固然WinDbg是個強大的工具,同時藍屏的緣由也有不少,若是想分析的足夠準確,那麼就只有多學多練,多去分析,由於WinDbg分析除了懂得幾個命令以外,經驗更加劇要!

合理再給你們一些分析建議:

  並不必定每一個dmp文件均可以分析出有用的結論,所以分析dmp並不須要對每一個dmp文件的結果過度糾結,其實藍屏dmp分析也是觀察一個規律或者規模的問題定位方法而已。例如你分析了10個dmp,有5個dmp都指向同一個藍屏緣由,另外5個dmp的信息五花八門時,那麼你徹底能夠先處理掉5次藍屏,同一個緣由的問題,由於解決了這個問題以後,後面的問題可能就都解決了!

  vDiskBus+da6c這個藍屏信息是指網維大師藍屏硬盤的dmp捕捉機制,這並非藍屏緣由,有不少朋友由於文章看到一半就去折騰,結果得出一些錯誤結論,因此這裏特地提醒下你們,看到vDiskBus+da6c這個信息以後,就不要再判斷錯誤了,這個信息能夠證明的信息是:這個dmp文件是經過網維大師藍屏鷹眼捕捉到的,且是在網維無盤客戶機上捕捉到的,其它的就不能表明什麼了。

相關文章
相關標籤/搜索