很多工程师在碰到蓝屏的时候都会有一种绝望的感觉。在碰到蓝屏的时候,不仅仅束手无策,而且不得不停下手中的键盘和鼠标,去看看微软的KB或者打客服电话。尤其是一般的人肯定认为是操作系统本身的问题或者是硬件损伤,而盲目的去重装系统和更换硬件。学习使用WinDeBug的技巧,能让大家不再惧怕蓝屏,简简单单从蓝屏中去分析病源。

其方法是通过内存转储文件来分析故障点。内存转储文件是一个扩展名为 .DMP 的文件。其中,“小内存转储”文件保存在Windows\Minidump 文件夹中,文件大小为 64KB,它只记录有发生蓝屏死机时的关键信息;“核心内存转储”及“完全内存转储”文件则保存在 Windows 文件夹中,文件名为 MEMORY.DMP,它们分别记录有发生蓝屏死机时的核心内存信息和完整的内存信息。为了节省硬盘空间,通常我们可以选择“小内存转储”。

那么,我们应如何通过 .DMP 内存转储文件分析蓝屏死机的故障原因呢?这可以借助微软官方提供的Debugging Tools for Windows工具实现。启动 Windbg.exe,在程序主菜单中选择“File(文件)”-“Open Crash Dump(打开内存转储文件)”,打开 .DMP 内存转储文件即可。Debugging Tools 可以自动为我们分析内存转储文件在蓝屏死机时记录的内存信息,并从中分析可能的故障原因。

 

以下为正确使用WinDebugDebug蓝屏故障的方法

1. 我的电脑点右键点属性->高级->启动,最下面的内存调试选最后一项的全部,确定后重新启动

2. 蓝屏后不要急着重启,系统会保存整个内存内容,然后会自动重启(如果没有自动重启,可能是由于您的设置,请手动重新启动)

3. 找到C:\Windows\Minidump\

4. 安装后创建一个临时目录,例如 c:\temp

5. 启动 Windbg

6. file->Symbol File Path (Ctrl+S) 输入:SRV*c:\temp*http://msdl.microsoft.com/download/symbols

然后确定

7. file->Open Crash Dump(Ctrl+D),例如C:\Windows\Minidump\Mini122208-01.dmp(该文件名是随着日期变而不一样的)后,等待提示,

当出现 Use !analyze -v to get detailed debugging information. 字样后,

在下面输入框   !analyze -v

8. 等待分析完毕,可以知道什么导致的出错

9. Windbg使用中需要网上下载调试内容,速度取决于用户的网络。

 

 

使用Debugging Tools 分析 minidump 文件的方法  

 

问题描述
使用Debugging Tools 分析 minidump 文件的方法

 

分析目的

在计算机使用过程中如果出现蓝屏现象, 一般windwos会在系统中生成记录文件, 也就是dump文件.通过微软提供的专门的Debugging tools 我们可以分析出, 可能是由系统中哪个文件造成的蓝屏现象. 得知可能的问题文件后, 我们就可以在网上搜索这个文件名,来了解这是什么文件,是什么属性的, 哪个公司开发的. 例如是驱动程序,病毒还是杀毒软件的程序? 当我们了解了文件的性质后, 我们往往就可以了解蓝屏的具体原因了, 也就可以设法来避免此类问题再此发生, 比如更新驱动, 查杀病毒, 卸载有问题的软件等等.

 

解决方案

1 登陆微软网站http://www.microsoft.com, 搜索debugging, 下载安装就不描述了,主要写使用方法

2 安装好后,点击开始程序—Debugging Tools for windows(X86)—WinDbg

 

5 打开程序主界面

 

6 点击File—Open Crash Dump

 

7 找到dump文件并打开.  (一般用户的dump文件默认存在 C:/windows/minidump/ 里面)

 

8 系统会提示Save information for workspace?  可选择yes

 

9 系统自动完成分析. 请关注  这一行内容:  Probably caused by : XXXXXXXX   这一行, 就是分析出的, 引起蓝屏的可能的文件. XXXX就是文件名, 例如下图的ntoskrnl.exe