liujia.biz

 找回密码
 立即注册
搜索
查看: 199|回复: 1

蓝屏dump分析教程,附分析工具WinDbg(x86 x64)6.12.0002.633下载

[复制链接]

32

主题

35

帖子

173

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
173
发表于 2018-5-8 22:01:51 | 显示全部楼层 |阅读模式
这篇文章写的真不错,简单易懂,收藏一下。

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

  WinDbg是在windows平台下,强大的用户态和内核态调试工具。它能够通过dmp文件轻松的定位到问题根源,可用于分析蓝屏、程序崩溃(IE崩溃)原因,是我们日常工作中必不可少的一个有力工具,学会使用它,将有效提升我们的问题解决效率和准确率。

二、WinDbg6.12.0002.633下载:

x86位版本下载:【微软官方安装版

  蓝屏Dump分析工具WinDbg(x86).rar (13.2 MB, 13,569 次)

x64位版本下载:【微软官方安装版

  蓝屏Dump分析工具WinDbg(x64).rar (12.4 MB, 11,896 次)

三、设置符号表:

  符号表是WinDbg关键的“数据库”,如果没有它,WinDbg基本上就是个废物,无法分析出更多问题原因。所以使用WinDbg设置符号表,是必须要走的一步。
1、运行WinDbg软件,然后按【Ctrl+S】弹出符号表设置窗
2、将符号表地址:SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols粘贴在输入框中,点击确定即可。
注:红色字体为符号表本地存储路径,建议固定路径,可避免符号表重复下载。

四、学会打开第一个dmp文件!

  当你拿到一个dmp文件后,可使用【Ctrl+D】快捷键来打开一个dmp文件,或者点击WinDbg界面上的【File=>Open Crash Dump...】按钮,来打开一个dmp文件。第一次打开dmp文件时,可能会收到如下提示,出现这个提示时,勾选“Don't ask again in this WinDbg session”,然后点否即可。


  当你想打开第二个dmp文件时,可能因为上一个分析记录未清除,导致无法直接分析下一个dmp文件,此时你可以使用快捷键【Shift+F5】来关闭上一个dmp分析记录。

  至此,简单的WinDbg使用你已经学会了!

五、通过简单的几个步骤学会分析一些dmp文件。

分享一个8E蓝屏dmp案例的分析过程:
  当你打开一个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文件的驱动文件名一样,且偏移地址也一样,则问题原因极有可能是同一个,这个偏移地址与汇编有关,这里不多做介绍。

  其实,对于分析蓝屏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要比较谨慎,对信息需要重新验证一次才更加保险,验证方法很简单,在WinDbg的命令输入框内,输入!process命令,就可以验证触发蓝屏的程序到底是否正确了。


运行!process命令后得到的信息:

  至此,掌握以上几个简单的分析方法之后,基本上绝大多数dmp大家都可以独立分析了,当然WinDbg是个强大的工具,同时蓝屏的原因也有很多,如果想分析的足够准确,那么就只有多学多练,多去分析,因为WinDbg分析除了懂得几个命令之外,经验更加重要!

合理再给大家一些分析建议:

  并不一定每个dmp文件都可以分析出有用的结论,因此分析dmp并不需要对每个dmp文件的结果过分纠结,其实蓝屏dmp分析也是观察一个规律或者规模的问题定位方法而已。例如你分析了10个dmp,有5个dmp都指向同一个蓝屏原因,另外5个dmp的信息五花八门时,那么你完全可以先处理掉5次蓝屏,同一个原因的问题,因为解决了这个问题之后,后面的问题可能就都解决了!

  vDiskBus+da6c这个蓝屏信息是指网维大师蓝屏硬盘的dmp捕捉机制,这并不是蓝屏原因,有很多朋友因为文章看到一半就去折腾,结果得出一些错误结论,所以这里特意提醒下大家,看到vDiskBus+da6c这个信息之后,就不要再判断错误了,这个信息可以证实的信息是:这个dmp文件是通过网维大师蓝屏鹰眼捕捉到的,且是在网维无盘客户机上捕捉到的,其它的就不能代表什么了。




声明: 本文由(死性不改)原创编译,转载请保留链接:http://support.icafe8.com/technologynews/focus/932.html



海量数据工程师 liujia1@vastdata.com.cn

个人日志论坛,没有对外开放注册,如果错误或求助请联系微信hxylj_14461
回复

使用道具 举报

32

主题

35

帖子

173

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
173
 楼主| 发表于 2018-5-8 22:04:41 | 显示全部楼层
windows蓝屏日志文件、dump文件收集方法

        我们以收集一款收费软件引起windows系统蓝屏为例子,进行讲解。

   

常规报错需收集日志信息:

1、计费服务端日志:服务端安装目录下手动创建wxlog和wxpluglog两个文件夹,分别获取计费日志及插件日志。若网吧之前已经存在日志目录并且日志较大,可以先删除之前的日志文件,重现问题后再提取新日志

2、计费客户端日志:在客户端system32目录下手动创建wxlog和wxpluglog两个文件夹,分别获取计费日志及插件日志。

蓝屏问题需要提取dump文件:

有盘环境

一、设置日志文件

方法一:(推荐:获取的日志信息全面,更利于分析)

右键“我的电脑”,选择“属性”,在“高级=>启动和故障恢复”里选择“设置”,参照下图所示进行设置

方法二:(不推荐:日志信息简短,只能进行粗略的分析)

右键“我的电脑”,选择“属性”,在“高级=>启动和故障恢复”里选择“设置”,参照下图所示进行设置

二、获取日志文件

日志文件存放在以下目录:
  核心内存转储路径:C:\WINDOWS\MEMORY.DMP
  小内存转储文件路径:C:\WINDOWS\Minidump\

请在以上路径获取日志文件,也可自定义日志文件存放路径(最好放在非还原保护的盘符下,这样可以避免系统重启导致的日志丢失现象。

=====================

无盘环境(有盘环境同样适用)

一、设置日志文件

利用系统自带的程序drwtsn32.exe(目录:C:\WINDOWS\system32\)进行故障日志和dump的获取,具体操作如下:

1、在系统“运行”里输入:drwtsn32.exe,弹出如下图所示窗口进行设置:

注:在①处设置日志和故障dmp输出地址(最好放在非还原保护的盘符下,这样可避免系统重启导致的日志丢失现象),并按照②所示对选项进行设置。

2、执行完上一步操作后,在系统“运行”中输入:drwtsn32 -i进行安装,弹出以下窗口即表示安装成功。

二、获取日志文件

在出现故障的时候,请取得问题网吧机器上设置文件夹中的log日志和dmp文件。

=====================

DMP文件提取所需注意点:

1、 虚拟内存设置:
  虚拟内存(页面文件)必须设置在C盘,初始大小应大于物理内存至少1M。不然无法打到完全内存转储。

2:转储文件默认路径为:
  %SystemRoot%\MEMORY.DMP。默认在WINDOWS目录下。可以设置到其他路径。

3:部分非常见系统崩溃的蓝屏现象无法提取DMP

4:4G或者更大的内存需要创建完整DMP文件,必须对boot.ini使用/MAXMEM转换。

=====================

DMP文件提取常见问题

问:还原状态下DMP文件是否会被还原
  答:建议用户将DMP文件放到不会还原的目录或盘符,无盘用户可考虑使用U盘,或移动硬盘。


问:开机就蓝的如何提取
  答:可以直接在设置路径的时候,设置U盘的盘符,然后待日志生成后,在系统启动后的U盘去查找。

而后重启PC、再次重现问题、持续按下右侧Ctrl 按钮并双按键盘上的Scroll 按钮、等待直到DMP文件创建完成并在正常模式下重启系统、确保完整的DMP文件已经被成功创建、重启PC。




海量数据工程师 liujia1@vastdata.com.cn

个人日志论坛,没有对外开放注册,如果错误或求助请联系微信hxylj_14461
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|liujia.biz

GMT+8, 2018-11-16 17:30 , Processed in 0.259217 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表