蓝屏dump分析教程

http://support.icafe8.com/technologynews/focus/932.html

 

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

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

 

二、WinDbg6.12.0002.633下载:

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

  蓝屏Dump分析工具Windbg_x86.rar (8.6 MB, 5,476 次)

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

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

 

三、设置符号表:

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

1

 

四、学会打开第一个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分析记录。

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

 

五、通过简单的几个步骤学会分析一些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文件是通过网维大师蓝屏鹰眼捕捉到的,且是在网维无盘客户机上捕捉到的,其它的就不能代表什么了。

 

 

 

http://bbs.360safe.com/thread-93925-1-1.html

Windbg-分析Windows蓝屏原因利器[转]
下载地址
先声明下,虽然用windbg诊断蓝屏之前网络上已经有人发过教程了,但就我而言,学会使用windbg来诊断蓝屏也算是自己的原创吧。以前看一个微软专家的视频(微软专家张银奎老师的《如何诊断和调试蓝屏错误》),专家提到可以用 windbg来调试dump文件,当时我就想能不能只关注是什么文件导致的系统崩溃,然后对症下药。后来通过一系列的实验,自己摸索出了用windbg,断蓝屏的方法,成功解决了包括KIS7.0插件、QQ插件、迅雷插件导致的蓝屏。废话就不多说了,本文没什么高深的技术,只是一些简单的操作,但应该可以 让身陷蓝屏困扰中的朋友带来些变化,起码能让你知道是谁在捣乱! 
  
   直观地说,蓝屏是系统崩溃。操作系统在遇到致命错误导致崩溃时,并不是直接挂掉,而是会记录下当时内存中的数据,将其存储成为dump文件,并用一串蓝屏代码向用户做出提示。
  
   好了,大家跟我一起设置吧。
  
   第一步,打开电脑的dump文件存储功能。在“我的电脑”上右键——属性——高级 �?




   选好后点确定,下次再出现蓝屏时,系统就会存储下dump文件,一般存放位置在系统盘的minidump文件夹下。(建议在该文件夹上点右键——属性——发送到——桌面快捷方式,以后就能在桌面上找到该文件夹了) 

第二步,下载安装windbg 
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx#a 
这个过程就不说了,随便选一个下载,安装时,一路“下一步”就行了。
第三步,使用windbg诊断蓝屏错误 
   上面两步设好后,就想办法开始“制造”蓝屏吧,平时怎么用会出现蓝屏就拼命用直到出现蓝屏,嘿嘿。
  
   蓝屏后重启,在minidump文件夹下会出现一个以日期为文件名的东东,那就是我们要的了。接下来打开windbg,点屏幕左下的“开始”,如下图:



软件启动点File——Open Crash Dump,如图�?


然后找到你的minidump文件夹,dump文件一般是"时间.dmp"如图:


打开后就会自动分析了。分析完后,看最下面,找3.probably caused by这一行,如图:

看,出来了吧那个myfault.sys文件就是罪魁祸首.

再补充点东西,
导入dump文件分析完毕后,不要关闭,在后面输入 !analyze -v ,这个命令可以查看dump文件的详细情况,如图:


对普通用户有用的还有下面一些信息:


第一,DEFAULT_BUCKET_ID: 错误类型,这个懂点编程和操作系统知识的朋友用得上点
第三行 PROCESS_NAME: XXX.exe 这个是导致错误的进程,查出是什么文件导致的蓝屏后,再看这里就知道是谁调用了错误文件,比如你查出123.sys导致蓝屏,但你查不到123.sys十哪个程序调用的,就可以用这个方法来看看,比如查出了是456.exe,你就可以在机子上或者网上搜索相关信息了。

好了,到这里 相信大家已经学会怎么找到导致系统蓝屏的文件了,接下来怎么办呢?上网查资料,把导致蓝屏的那个文件名在网上搜索,基本就知道是什么文件了,一般网上也有相关的解决办法,看看要删除些什么插件、打什么补丁或者重装软件等等。导致问题的不一定是.sys文件也有可能是.dll,这篇文章只能帮你找出导致蓝屏的元凶,具体的解决办法得上网查。如果是查不到什么信息的.sys或者.dll就要当心了,有可能是病毒或者rootkit

附:
windbg基本调试命令:
r可以显示系统崩溃时的寄存器,和最后的命令状态。
dd 显示当前内存地址,dd 参数:显示参数处的内存。
u 可以显示反汇编的指令
!analyze -v 显示分析的详细信。





kb 显示call stack 内容
.bugcheck 可以显示出错的代码
windbg诊断蓝屏的一点补充

导入dump文件分析完毕后,不要关闭,在后面输入!analyze -v,这个命令可以查看dump文件的详细情况,如图:


对普通用户有用的还有下面一些信息:


第一行 DEFAULT_BUCKET_ID: 错误类型,这个懂点编程和操作系统知识的朋友用得上点

三行 PROCESS_NAME: XXX.exe 这个是导致错误的进程,查出是什么文件导致的蓝屏后,再看这里就知道是谁调用了错误文件,比如你查出123.sys导致蓝屏,但你查不到123.sys是 哪个程序调用的,就可以用这个方法来看看,比如查出了是456.exe,你就可以在机子上或者网上搜索相关信息了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蓝屏是指计算机在运行过程中发生了严重错误导致操作系统无法继续正常工作,屏幕显示一片蓝色,并在某些情况下自动重启。蓝屏常见问题有很多种原因,如硬件故障、驱动程序冲突、不稳定的系统内核等。 而dump文件是指计算机发生蓝屏时所生成的一个记录文件,它包含着计算机的内存快照,可以用来分析蓝屏原因。下面我们来介绍一下蓝屏dump文件分析的一般步骤: 1. 首先,我们需要查找dump文件的位置。通常情况下,dump文件会被保存在操作系统安装盘的Windows文件夹下的Minidump文件夹中。 2. 找到dump文件后,我们可以使用一些工具来分析它。其中最常用的是Windows自带的调试工具WinDbg,它可以加载dump文件并提供详细的分析报告。 3. 打开WinDbg后,我们需要加载dump文件。点击菜单中的"File",选择"Open Crash Dump",并选择要分析dump文件。 4. 分析dump文件时,我们可以查看错误信息、堆栈跟踪等关键信息,以确定故障的原因。具体分析过程比较复杂,需要针对不同的蓝屏问题进行相应的分析方法。 5. 在分析过程中,我们还可以使用WinDbg提供的命令和工具来获取更详细的信息,比如查看线程信息、内存状态等。 6. 分析完成后,我们可以根据分析结果采取相应的措施来解决问题。比如更新驱动程序、修复操作系统、更换故障的硬件等。 总而言之,通过蓝屏dump文件的分析,我们可以定位并解决计算机蓝屏问题的原因。这需要一定的专业知识和经验,同时也需要耐心和细心进行分析。希望以上介绍对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值