一、windbg分析第一步二、windbg下载与安装下载:
Windbg是微软的官方组件,咱们直接百度搜索windbg,看到是微软官网的直接进去就行(不要下载其他什么软件园呀之类的可能带捆绑软件)
安装:
双击运行,安装位置选默认(这个安装目录要记一下,后面要用到),下一步,选中Debugging Tools for Windows
点击download后静等完成
完成后,咱们的windbg就装好了
三、windbg分析环境搭建1、本地创建符号表下载目录,如图在D盘创建一个symbols目录用来存放分析dump时从微软下载的符号表,最好是放在一个空间
1、环境变量配置
先找到软件的安装目录
设置环境变量
将C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 这个安装目录(我的是64位系统所以是x64)粘贴到用户变量和系统变量的path下面,前面如果已经有其他进程用英文分号隔开,然后点击确定保存
打开cmd,输入windbg,如果可以直接出来windbg的进程则说明设置成功
到了这一步,我们的windbg环境就搭好了,拿到dump直接分析就行,软件内也不需要做其他配置了
四、windbg分析
1、Cmd打开windbg,随便找个dump文件拖到windbg里面
2、如上图就说明配置的环境变量生效了,在命令输出入窗口输入!sym noisy(这个命令可以让dump分析更加全面,建议分析dump第一步先输入这个)
3、点击蓝色的!analyze -v或者手动输入进行dump分析,分析的时候关注下存放符号表的目录如下图,本来是空文件夹,分析时会自动下载符号表,产生数据了就说明下载成功了,windbg环境也就搭好了
4、具体分析时我们要关注的点
如下图所示,最后执行!process命令验证触发蓝屏的程序到底是否正确即可
看了这么多信息之后,这个蓝屏dmp到底是怎么回事呢?根据dmp给出的信息,应该是:PC开机0天(days)0小时14分23秒581毫秒时,一个名为PinyinUp.exe触发了KiMsgProtect.sys这个驱动的一个Bug,导致蓝屏。
那么PinyinUp.exe和KiMsgProtect.sys都是哪个厂商的?
使用lmvm KiMsgProtect和lmvm PinyinUp 确认驱动的路径后,去用户的机器上找发现PinyinUp.exe是搜狗输入法的自动升级程序,KiMsgProtect.sys是恒信一卡通这个计费软件的驱动,所以这个蓝屏dmp的原因是搜狗拼音升级调用了恒信一卡通的驱动导致系统蓝屏!
注意:若是不确认驱动是什么软件携带的,可以通过查看驱动签名或者网上查询的方式确认
蓝屏的解决办法:
方法1:将搜狗输入法的自动升级程序重命名(PinyinUp.exe重命名为PinyinUp.exe.bak);
方法2:设置禁止搜狗输出法自动升级
方法3:找恒信一卡通确认这个KiMsgProtect.sys是否需要使用,如果不需要,重命名KiMsgProtect.sys为KiMsgProtect.sys.bak