閱讀556 返回首頁    go 雲更新


藍屏dump分析教程

雲更新目前能夠收集32位客戶機係統(XP和win7 32位)產生的藍屏DMP文件到服務端DUMP文件夾,我們可以通過分析藍屏曰誌來確定到底是什麼導致了客戶機藍屏。

一、WinDbg是什麼?它能做什麼?

  WinDbg是在windows平台下,強大的用戶態和內核態調試工具。它能夠通過dmp文件輕鬆的定位到問題根源,可用於分析藍屏、程序崩潰(IE崩潰)原因,是我們日常工作中必不可少的一個有力工具,學會使用它,將有效提升我們的問題解決效率和準確率。

 

二、WinDbg6.12.0002.633下載:

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

https://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebuggingTools/dbg_x86.msi

 

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

https://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebuggingTools_amd64/dbg_amd64.msi

 

三、設置符號表:

  符號表是WinDbg關鍵的“數據庫”,如果沒有它,WinDbg基本上就是個廢物,無法分析出更多問題原因。所以使用WinDbg設置符號表,是必須要走的一步。

1、運行WinDbg軟件,File-> Symbol File Path【Ctrl+S】彈出符號表設置窗。

2、將符號表地址:SRV*C:\Symbols*https://msdl.microsoft.com/download/symbols粘貼在輸入框中,點擊確定即可。

3、保存設置,點擊File-> Save Workspace即可,否則每次運行windbg都要重新填寫symbol search path。

 

四、打開一個dump

當你拿到一個dmp文件後,可使用【Ctrl+D】快捷鍵來打開一個dmp文件,或者點擊WinDbg界麵上的【File=>Open Crash Dump...】按鈕,來打開一個dmp文件

第一次打開dmp文件時,可能會收到如下提示,出現這個提示時,勾選“Don't ask again in this WinDbg session”,然後點否即可。

當你想打開第二個dmp文件時,可能因為上一個分析記錄未清除,導致無法直接分析下一個dmp文件,此時你可以使用工具欄stop debugging按鈕【Shift+F5】來關閉上一個dmp分析記錄。

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

五、通過簡單的幾個步驟學會分析一些dmp文件:

        

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

  通過觀察這個時間你就可以知道問題是在什麼時候出現的,例如時間小於1分鍾基本可以定位為開機藍屏,反之大於一分鍾則可證明是上機後或玩的過程中出現問題了。

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

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

 

第二個關鍵信息:Probaly caused by(造成藍屏可能的原因)

這個信息是相對比較重要的一個信息,如果你運氣好的話,通過這個信息基本上可以看到導致藍屏的驅動或者程序名稱了,就像下圖一樣,初步的分析已經有了結果,Probaly caused by後麵顯示的是一個名為KiMsgProtect.sys的驅動文件導致藍屏,這個文件就是恒信一卡通的一個關鍵驅動。因此藍屏則很有可能和一卡通有關。

括號中驅動文件名後麵的+號代表的是偏移地址,假如多個dmp文件的驅動文件名一樣,且偏移地址也一樣,則問題原因極有可能是同一個,這個偏移地址與匯編有關,這裏不多做介紹。

Kdump.sys這個藍屏信息是指雲更新的dmp捕捉機製,這並不是藍屏原因。

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

看了這麼多信息之後,這個藍屏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並不需要對每個dmp文件的結果過分糾結,其實藍屏dmp分析也是觀察一個規律或者規模的問題定位方法而已。例如你分析了10個dmp,有5個dmp都指向同一個藍屏原因,另外5個dmp的信息五花八門時,那麼你完全可以先處理掉5次藍屏,同一個原因的問題,因為解決了這個問題之後,後麵的問題可能就都解決了!

六、常見藍屏故障

1、0xEA

watchdog顯卡錯誤檢查導致客戶機藍屏,處理辦法可以創建注冊表中的下列REG_DWORD項,並將其值設置為1:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Watchdog\DisableBugCheck

 

2、0xF4_80000004

跟列1的dump是同一台客戶機產生,這個dump看不出是什麼原因導致,並不是所有的dump都能看出來是什麼原因導致客戶機藍屏,把能看出來的問題解決後,這類看不出來的問題也有可能同時解決。

 

3、0x5

Appmonitor是佳星計費軟件的客戶端驅動,請使用低版本的客戶端。

 

4、0x8E

mslive.exe,惡意程序,會修改瀏覽器默認首頁等。

      

5、0x7E

Ikeeper智多計費軟件客戶端驅動導致藍屏,換用低版本計費客戶端或者把dump發給智多官方。

 

6、0xA

這個是萬象的客戶端程序導致的藍屏,dump目錄出現了一個,可以不用管他,棧已經壞掉了,看不出跟多的東西。

 

7、0x8E

百度安全衛士

 

8、0x5

居然是360瀏覽器

 

9、0xF4_c0000005

TsFltMgr.sys,QQ電腦管家進程

 

10、0x5

Wgivsre.exe過濾網實名插件

 

11、0x5

NFS11.exe極品飛車11的啟動程序

 

12、0x5

XCFaXuin.exe,一個叫《小晨發現》的流氓軟件

 

13、0xA

Wndebis.sys查無此驅動,xfp2p.exe,影音先鋒客戶端,

 

14、0x8E

udo.exe嘟嘟牛客戶端

 

15、0xA

qq遊戲係列驅動保護TesSafe.sys

 

16、0x5

QQPenguin.exe,QQ寵物

 

17、0x5

DbntCli.exe,深藍TCP維護通道

 

18、0x5

HD聲卡麵板的加載程序

 

19、0x8E

wgprotect.exe不知道是什麼程序,跟之前的8E藍屏有個共同點,都調用了Kei386EoiHelper

 

20、0x5

miniYY.exe,英雄聯盟盒子自帶的小隊語音。

 

21、0x5

YoukuMediaCenter.exe,優酷客戶端程序

 

22、0x8E

nv4_disp.dll,顯卡常見的藍屏,更換顯卡、更換係統、顯卡溫度過高、更新顯卡bios、顯卡壞了

 

23、0x5

Lsass.exe係統進程,用於本地安全和登陸策略,之前的0x5藍屏都是類似,運行隨機的應用程序藍屏。

 

24、0xA

wndebis.sys查無次驅動

 

25、0x8E

Wndebis.sys查無此驅動

 

26、0x7f_8

第一次出現7f,Tencentdl.exe騰訊下載組件。

 

27、0x8E

Client.exe某個客戶端進程

 

28、0x8E

nv4_mini.sys,顯卡常見的藍屏,更換顯卡、更換係統、顯卡溫度過高、更新顯卡bios、顯卡壞了

 

29、0x8E

sysaudio.sys,windows的係統音頻WDM過濾器,是windows自帶的驅動,建議跟換聲卡驅動、重裝係統、聲卡壞了進bios屏蔽。

最後更新:2017-02-04 19:58:41

  上一篇:go 三層更新慢,怎麼處理?
  下一篇:go 功能介紹:添加節點服務器