作者:上犹日期:
返回目录:电脑蓝屏
在C++实际开发过程中,开发出来的程序,一般情况下由开发人员进行单元测试,然后移交给测试人员进行测试。在开发人员测试出现的bug,我们可以直接在本地进行调试e79fa5e98193e58685e5aeb9366。如果测试人员测试出崩溃级别的bug,如果我们需要调试往往借助于vs提供的Remote Debugger工具进行远程调试,然是当程序在用户手中出现崩溃此时我们可以采用Remote Debugger进行调试,但是如果此时开发人员无法直接去用户现场调试,此时就需要用户生成DMP文件,以便开发人员使用DMP文件进行分析。
本文主要介绍C++开发过程中出现程序崩溃后,如何进行分析定位bug(基于xp系统)。
一、DMP文件获取设置
(1)在运行窗口中输入 drwtsn32 -i ,并且点击确定
WinDbg分析DMP文件方法完全攻略
(2)在(1)确定后弹出如下对话框
WinDbg分析DMP文件方法完全攻略
(3)在(2)弹出的确定框后点击确定按钮完成,将Dr.Watson设置为默认应用程序调试程序。
Dr.Watson系统自带的程序。
(4)再次在运行窗口中输入:drwtsn32,如下图:
WinDbg分析DMP文件方法完全攻略
(5)点击确定按钮,在弹出的对话框中按照下列方式设置
WinDbg分析DMP文件方法完全攻略
(6) 点击确定按钮完成DMP文件设置。
二、关闭Dr.Watson方法
(1)打开注册表
(2)在注册表中进入主键[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug],然后将“AUTO”键值设置为0如下图:
WinDbg分析DMP文件方法完全攻略
三、Windbg下载,下载完成后安装
四、DMP文件获取
(1) 用vs2010创建一个基于win32的程序,其源码如下:
WinDbg分析DMP文件方法完全攻略
(2)我们知道在学习C++中整数不能跟0进行除运算,否则会引起程序崩溃。而(1)中就是编写能触发0的异常,导致程序结束运行的程序。编译(1)中的程序,结果如下:
WinDbg分析DMP文件方法完全攻略
(3)运行(2)中test.exe程序 ,程序崩溃。如下图:
WinDbg分析DMP文件方法完全攻略
(4) 按照《一、DMP文件获取设置》步骤实现Dr.Watson设置为默认应用程序调试程序。
(5)再次运行运行(2)中test.exe程序 如下图:
WinDbg分析DMP文件方法完全攻略
点击确定完成dmp文件的生成。
(6)打开在(4)中设置dmp文件路径。(本例中默认地址为:C:\Documents and Settings\All Users\Application Data\Microsoft\Dr Watson)如下图:
WinDbg分析DMP文件方法完全攻略
其中user.dmp就是我们需要的dmp文件。
五、分析《四、DMP文件获取》中获取的DMP文件。
蓝屏有一下几种解决方法:
1、如是台式可以,把显卡和内存拔出来用橡皮百擦干净,清理插槽,再将显卡和内存插紧;换掉不兼容和有问题的内存。
2、如是台式取下风扇,除尘上油,或换个新风扇。
3、更新显度卡驱动,降低分辨率、颜色质量、刷新率;降低硬件加速-桌面属性-设置-高级-疑难解答-将“硬件加速”降到“无”,必要时换个档次高一点的显卡。
4、检查硬件剩余空间,一般而言,装有系统的C盘最低应保证1GB以上的空间,把虚拟内存从C盘移到磁盘空间比较大的分区。
5、硬盘专的碎片太多,也容易导致蓝屏出现,每隔一段时间,要对磁盘进行一次碎片整理。
6、电源电压不稳,电源功率不足,属更换质量高的功率大的电源。希望能帮助到你,
1)您的电脑蓝屏的时候,您在电脑干什么呢,能说说吗?我会跟据您说的较为准确的回答您。
蓝屏代码或事件查看器里面的内容普通人是看不懂的,请将你在蓝屏前电脑的表现,和你操作说的详细些(我跟据你提供的信息重新回答你)。
一般蓝屏是自己7a64e58685e5aeb9335不正确操作引起的,记住容易引起蓝屏的操作不做。电脑不要满负荷操作,就是在玩游戏、看视频时、下载时、看网页的同时在干别的操作最容易死机、蓝屏,因此在玩游戏、看视频、下载时、看网页时不要在操作别的东西了。
不管您在干什么,只要一有卡的迹象时就赶紧停止手头的操作退出在试,这样就不会蓝屏,如果还是这样就不要玩了或是不要看了。
硬件方面:如果内存小请加内存条,硬盘是否有坏道,硬件是否不兼容或是故障,在用鲁大师测试一下CPU等硬件的温度是否高。
2)如果您说的是开机蓝屏是与您关机前的不当操作有关系吧?比如:玩游戏、看视频、操作大的东西、使用电脑时间长造成的卡引起的吧?或下载了不合适的东西、或删除了系统文件、或断电关机等,故障不会无缘无故的发生吧?
反复开关机试试,放一段时间试试,确实不可以就重装系统吧,如果自己重装不了,到维修那里找维修的人帮助您。
只要注意自己的电脑不卡机、蓝屏、突然关机,开机就不会这样了。
3)有问题请您追问我。
蓝屏就是停止您操作的提示,其实蓝屏也是保护您电脑的措施,就和电脑到一定的高温是关机是一样的。90%的蓝屏是自己操作使用电脑不当引起的,卡是蓝屏发生的根源,容易引起卡的操作不做,就会避免蓝屏或少发生蓝屏。
如果一看代码或系统日志或蓝屏DMP文件分析工具就可以准确知道问题在哪里谁都可以成为专家了,但是既使到微软网站搜索出来的答案也是让人摸不到头脑,我的实践是,解决电脑问题靠技术与实践,没有捷径的道路可走。
右击“计算机”-“属性”-“高级系统设置”-“高级”-“启动zhidao和故障恢复”设置2.提取蓝屏文件"C:\WINDOWS\Minidump\"dump文件及"C:\WINDOWS\"MEMERY.DUMP3.下载安装windbg4.启动"windbg"-点击"File"-"OpenCrashDump"-选择dump文件5.找到"probablycausedby"字样确定罪魁祸回首6.一些信息DEFAULT_BUCKET_ID:DRIVER_FAULT//指出错误类型,这里是驱动错误BUGCHECK_STR:0xD1//bugcheck索引,可查windbg文档,也可"!analyze?showD1"PROCESS_NAME:NotMyfault.exe//错误所属进程附:windbg基本调试命令:r可以显示系统崩溃时的寄存器,和最后的命答令状态。dd显示当前内存地址,dd参数:显示参数处的内存。u可以显示反汇编的指令!analyze-v显示分析的详细信息。.bugcheck可以显示出错的代码