Dump 分析法
云更新目前能够收集32位客户机系统(XP和win7 32位)产生的蓝屏DMP文件到服务端DUMP文件夹,我们可以通过分析蓝屏曰志来确定到底是什么导致了客户机蓝屏。
一、WinDbg是什么?它能做什么?
WinDbg是在windows平台下,强大的用户态和内核态调试工具。它能够通过dmp文件轻松的定位到问题根源,可用于分析蓝屏、程序崩溃(IE崩溃)原因,是我们日常工作中必不可少的一个有力工具,学会使用它,将有效提升我们的问题解决效率和准确率。
二、WinDbg6.12.0002.633下载:
x86位版本下载:【微软官方安装版】
http://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebuggingTools/dbg_x86.msi
x64位版本下载:【微软官方安装版】
http://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*http://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发给智多官方。
这个是万象的客户端程序导致的蓝屏,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屏蔽。
30、0x8E
Pd.exe、watch_xp_i386.sys、ZWebNds.sys都是恒心一卡通的进程和驱动,有个版本的kboot.sys可以屏蔽watch_xp_i386.sys。
31、0x8E
ati3duag.dll,显卡常见的蓝屏,更换显卡、更换系统、显卡温度过高、更新显卡bios、显卡坏了
32、0x8E
Ndispro.sys,可能是病毒、木马程序。
33、0x8E
bombmuman.exe,可能是恶意程序
34、0xA