本帖最后由 prawnliu 于 2010-3-20 13:38 编辑
微点最近放出的64位版,看到不少网友热衷于测试一下。
但听说蓝屏、死机一类的事情也时有发生~~
毕竟是测试版,在所难免。
既然自愿参与测试,就该帮助公司提供错误信息以便公司分析,进而完善产品。
下面说一下蓝屏后自动转储内存信息的设置方法,以及死机时手动制造蓝屏的方法。
这样大家就能把错误信息保存下来,提交分析。
一、蓝屏后内存转储的相关设置
蓝屏其实是Windows系统的一个自我保护。此时Windows系统会把一切的运行终止掉,然后把内存中的一切信息转储到硬盘中,生成一个扩展名为DMP的dump文件,便于技术人员分析蓝屏原因。所以你就要检查一下设置,看看系统是否会在蓝屏时生成这个文件以便分析。
在桌面上右键单击我的电脑,选择属性。然后点击高级标签栏,点击下面的“启动和故障恢复”框中的设置。设置中的“写入调试信息”有四个选项:(无);小内存转储(64K);核心内存转储;完全内存转储。
可能有教程说选择“小内存转储(64K)”就行,但实际上64k的文件时存储不了什么有价值信息的……64k的信息是发给微软那帮技术看的……如果有心抓取蓝屏后的dump文件留给自己或者相关技术人员分析的话,那“小内存转储(64K)”是不管用的。如果硬盘空间不富裕的话,可以选择“核心内存转储”,抓取的dump文件大约是物理内存大小的三分之一左右。如果硬盘空间富裕的话,那就大大方方的选择“完全内存转储”吧,抓取的dump文件等同于你的物理内存。这些文件才是有分析价值的。
二、手动制造蓝屏 上面简单的提了一下蓝屏后生成的内存转储文件,也就是说蓝屏对于分析软件错误是有帮助的,它是Windows系统提交给我们的一个内核异常报告,加以分析就能便于我们改进自己的程序。 但有时候程序异常不会造成蓝屏,而是死机……死机可是不会提供给我们什么有价值的信息的,我们也无法再死机的时候调试异常(WinDBG双机互调那个另说……)。那怎么办呢?我们就必须手动制造一个蓝屏,好让Windows为我们抓取内存信息。 我没说梦话,微软给我们提供了这样的功能,用你的键盘就能实现。 首先要确认你的键盘和主机的连接口的类型,确认一下是USB接口还是PS/2接口(PS/2即我们俗称的“圆口”。笔记本键盘算是什么接口我不甚了解……据网友allanpk716友情提示说可能属于PS/2接口),然后根据键盘接口类型选择要设置的注册表键值。 USB接口键盘找到如下注册表路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters PS/2接口键盘找到如下注册表路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters 在对应路径下新建一个DWORD项,命名为“CrashOnCtrlScroll”,值为1. 设置好后重启电脑即可生效。一旦出现死机,并且你认为需要存储此刻的内存数据以便分析的话,就按住右Ctrl键,同时连按两下Scroll Lock键。OK,蓝屏了。我们要的DMP文件存下来了! |