运用WinDBG区分系统蓝屏死机的幕后真凶

Windows XP是美国微软公司研发的基于X86、X64架构的PC和平板电脑使用的操作系统,于2001年8月24日发布RTM版本,并于2001年10月25日开始零售 。其名字中“XP”的意思来自英文中的“体验(Experience)” 。该系统的默认桌面背景墙纸是Bliss,一张BMP格式的照片 。是拍摄的纳帕县郊外的风景,照片中包括了高低起伏的绿山及有层积云和卷云的蓝天 。 
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_AREAIf this is the first time you’ve seen this error screen,restart your computer. If this screen appears again, followthese steps:Check to make sure any new hardware or software is properly installed.If this is a new installation, ask your hardware or software manufacturerfor any Windows updates you might need.If problems continue, disable or remove any newly installed hardwareor software. Disable BIOS memory options such as caching or shadowing.If you need to use Safe Mode to remove or disable components, restartyour computer, press F8 to select Advanced Startup Options, and thenselect 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)”选项,取消”自动重新启动”的复选框,如下图:

运用WinDBG区分系统蓝屏死机的幕后真凶

文章插图
从图中可以看到dump文件的默认保存位置是在C:\WINDOWS\Minidump\ 配置WinDbg1、下载Debugging Tools 32位(Debugging Tools 64位)并安装,在如下图位置只勾选“Debugging Tools for windows”:
运用WinDBG区分系统蓝屏死机的幕后真凶

文章插图
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
运用WinDBG区分系统蓝屏死机的幕后真凶

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

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

文章插图
 

    推荐阅读