利用WinDBG分析系统蓝屏死机的幕后真凶

winxp系统教程

 

Windbg是在windows平台下,强大的用户态和内核态调试工具。相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强大。它的另外一个用途是可以用来分析dump数据。
Windbg是Microsoft公司免费调试器调试集合中的GUI的调试器,支持Source和Assembly两种模式的调试。Windbg不仅可以调试应用程序,还可以进行Kernel Debug。结合Microsoft的Symbol Server,可以获取系统符号文件,便于应用程序和内核的调试。Windbg支持的平台包括X86、IA64、AMD64。下面系统天地小编就以WinDBG为大家分析导致系统蓝屏死机的幕后真凶。
 
蓝屏死机时会留下类似以下文字:
A problem has been detected and Windows has been shut down to prevent damageto your computer.PAGE_FAULT_IN_NONPAGED_AREA
If this is the first time youve seen this error screen,
restart your computer. If this screen appears again, follow
these steps:
Check to make sure any new hardware or software is properly installed.
If this is a new installation, ask your hardware or software manufacturer
for any Windows updates you might need.
If problems continue, disable or remove any newly installed hardware
or software. Disable BIOS memory options such as caching or shadowing.
If you need to use Safe Mode to remove or disable components, restart
your computer, press F8 to select Advanced Startup Options, and then
select Safe Mode.
Technical information:
*** STOP: 0×00000050 (0×00000000, 0×00000000, 0×00000000, 0×00000000)
Beginning dump of physical memory
 
蓝屏电脑自动重启的大致成因
1、电脑蓝屏出现是很有规律的,通常二种常见的不当操作会造成系统蓝屏,第一种是直接切断电脑电源或者停电,这种情况比较多见,不好一点造成系统蓝屏,更换一点造成系统文件丢失,电脑不能正常开机。随意电脑电源不能直接切断而是关机后再拔电源。
2、电脑蓝屏自动重启还可能与安装和系统有冲突的软件有关,这其中恶意软件占多数,所以不要轻易安装不正当来源的软件。可以用软件管家之类的安全应用安装软件。
电脑蓝屏自动重启是我们使用电脑过程中经常会遇到的问题,原因可能是系统补丁问题、硬件问题、使用不当等多方面的。如何修复?对于新手来说可以用《电脑蓝屏死机代码查询器》来查找大概就能知道原因。如果不怕麻烦进行更细致的分析可以用下面的工具。
 
Debugging Tools捉凶
步骤概略:1、打开”小内存转储”功能;2、配置WinDbg; 3、使用windbg分析Dump文件。
设置”小内存转储”功能
右键“计算机”–>属性–>高级系统设置–>高级–>启动和故障恢复,打开“启动和故障恢复”选项卡,在“写入调试信息”下拉列表中选中“小内存转储(xxxKB)”选项,取消”自动重新启动”的复选框,如下图:

从图中可以看到dump文件的默认保存位置是在C:WINDOWSMinidump
 
配置WinDbg
1、下载Debugging Tools 32位(Debugging Tools 64位)并安装,在如下图位置只勾选“Debugging Tools for windows”:

2、开始——>所有程序——>Debugging Tools for Windows,打开WinDbg
3、配置Windows Debugging Tool
选一个临时目录存放Symbol文件。比如,建立一个目录叫C:Temp
然后,打开WinDBG,在File菜单-〉选择Symbol File Path。在打开的对话框里输入:
SRV*c:temp*http://msdl.microsoft.com/download/symbols

选择OK确定
然后 file –> save wordspace
这样WinDBG就配置好了。
注:要注意http://msdl.microsoft.com/download/symbols 是不可浏览的,仅适用于由调试器访问。
 
使用windbg分析Dump文件
点击程序窗口的“File ——> Open Crash Dump”,打开位于系统盘的minidump文件夹(例:C:WINDOWSMinidump)下的以日期为文件名的.dmp文件。然后稍等片刻,等它加载符号文件。

分析完后,如图中蓝屏线部分,找到“Probably caused by”这一行,其后面的文件就是导致蓝屏死机的程序。
另外可以看到Use !analyze -v to get detailed debugging information.字样和 kd> 提示符。
按照提示,输入或者单击”!analyze -v”命令。可以看到更详细的分析结果。
 
相关文章