QQ语音聊天蓝屏两种排错过程(涉及搜索引擎的使用/windbg对蓝屏dump文件的粗略分析)
<STRONG>前言:<BR></STRONG>宿舍的电脑刚好出现这个问题,然后那位舍友和自己分别用了两种方法解决了这个问题,因此写出来分享一下。<BR><FONT color=blue><STRONG>法一,是专门针对新手,给他们一种自己搜索解决问题的思路——特别是对搜索引擎使用的能力,因为很多时候,搜索引擎能够解决你很多问题。<BR>而法二,仅为抛砖引玉,为蓝屏的解决方法提供另一种思路。</STRONG></FONT><BR><STRONG><FONT color=#0000ff></FONT></STRONG><BR><BR><STRONG>故障描述:<BR></STRONG>宿舍电脑,Windows XP SP2,硬件列表中声卡驱动名称为Realtek High Definition Audio<BR>初始杀毒软件NOD32。<BR>使用QQ语音聊天,一旦对方点接受的话,就立即蓝屏,但以前并无该问题。其蓝屏信息:<BR>IRQL_NOT_LESS_OR_EQUAL<BR>STOP:0X0000000A(0X00000001,0X0000001C,0X00000001,0X804FBEE4)<BR>换用卡巴,甚至“裸奔”,故障依旧。<BR><BR><STRONG><FONT color=blue>法一(舍友,部分有自己的指导):搜索引擎的使用——关键是搜索什么样的词,和在哪里搜索。</FONT></STRONG><BR><BR><STRONG>Step 1:</STRONG><BR>百度搜索“IRQL NOT LESS OR EQUAL”(不含双引号),首先有如下微软的文章。<BR>《错误信息:STOP 0x000000D1 DRIVER_IRQL_NOT_LESS_OR_EQUAL》:<BR><A href="http://support.microsoft.com/kb/293077/zh-cn" target=_blank><FONT color=#0000ff>http://support.microsoft.com/kb/293077/zh-cn</FONT></A><BR>文中提到:<DIV class=quote>
<H5>引用:</H5>
<BLOCKQUOTE>当启用 Driver Verifier 功能并且驱动程序使用了不正确的地址时,会发生此问题。注意错误信息中可能列出了导致此问题的驱动程序。</BLOCKQUOTE></DIV>但是里面列出的适用操作系统并没有Windows XP,而且该链接描述“DRIVER_IRQL_NOT_LESS_OR_EQUAL”与“IRQL_NOT_LESS_OR_EQUAL”有些不同,所以该解答只能作备用使用。<BR><BR><STRONG>Step 2:</STRONG><BR>然后在<A href="http://support.microsoft.com/" target=_blank><FONT color=#0000ff>http://support.microsoft.com</FONT></A>,在右边的“查找支持”中搜索“0x0000000A”。<BR><BR><BR><BR>并且在搜索结果页面的左边“查找结果 按产品类别显示:”点选“Windows XP”<BR><BR><BR><BR><BR><BR>发现了如下重要文章:《消除 Windows XP 中出现的“Stop 0x0000000A”错误》 <BR><A href="http://support.microsoft.com/kb/314063/" target=_blank><FONT color=#0000ff>http://support.microsoft.com/kb/314063/</FONT></A><BR>根据该文档显示,
<DIV class=quote>
<H5>引用:</H5>
<BLOCKQUOTE>如果在安装 Windows XP 之后收到 Stop 0x0A 错误,请使用以下故障排除方法检查其他组件:检查第三方软件或驱动程序。</BLOCKQUOTE></DIV>因此可以认定,问题的产生很可能是驱动程序的问题。<BR><BR><STRONG>Step 3:</STRONG><BR>回到Baidu,搜索“QQ语音蓝屏”,找到如下文章:<BR>我关于技嘉915P主板QQ视频、语音聊天蓝屏问题的解决<BR><A href="http://hi.baidu.com/jkyx/blog/item/5cfdb331d40a7da85fdf0e27.html" target=_blank><FONT color=#0000ff>http://hi.baidu.com/jkyx/blog/item/5cfdb331d40a7da85fdf0e27.html</FONT></A><BR>根椐该文档显示,作者在实验中得出,是c-media 9880声卡驱动的问题。后来无意间“使用Windows Update的‘自定义’,安装C Media Electronics Incorporation - Sound - C-Media High Definition Audio Device的升级更新”即解决了问题。<BR><BR>联系Step 2的文章,那么是不是可以判定该电脑的Realtek HD声卡驱动也有问题呢?是不是安装新驱动即可呢?<BR><BR><STRONG>Step 4:</STRONG><BR>到<A href="http://www.mydrivers.com/" target=_blank><FONT color=#0000ff>www.mydrivers.com</FONT></A>,在页面最上面选“声卡驱动”,并输入“Realtek High Definition Audio”搜索。<BR>结果搜索到适合于XP的最新Realtek驱动。<BR><A href="http://drivers.mydrivers.com/drivers/dir186/d74427.shtml" target=_blank><FONT color=#0000ff>http://drivers.mydrivers.com/drivers/dir186/d74427.shtml</FONT></A><BR><BR><STRONG>Step 5:</STRONG><BR>下载安装,重新启动,再试。故障解决。<BR><BR><BR><BR><FONT color=blue><STRONG>法二(自己,参考盆盆的文章):使用windbg对dump文件粗略分析——“照猫画葫芦”</STRONG></FONT><BR><BR>前一段时间看到了盆盆的文章,《Lenovo Thinkpad T61奇怪的蓝屏故障和解决办法》<BR><A href="http://blogs.itecn.net/blogs/ahpeng/archive/2007/09/02/lenovo-thinkpad-t61-bugcheckid-0x00008086.aspx" target=_blank><FONT color=#0000ff>http://blogs.itecn.net/blogs/ahpeng/archive/2007/09/02/lenovo-thinkpad-t61-bugcheckid-0x00008086.aspx</FONT></A><BR><STRONG><FONT color=#0000ff>在里面提到了windbg对Crash Dump的分析。所以这次就“照猫画葫芦”,找出问题根源,并且顺利解决。在这里感谢盆盆的文章!</FONT></STRONG><BR><STRONG><FONT color=#0000ff></FONT></STRONG><BR>Debugging Tools for Windows - Overview:<BR><A href="http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx" target=_blank><FONT color=#0000ff>http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx</FONT></A><BR><BR><STRONG>Step 1:</STRONG><BR>首先到如下地址下载并安装Windows Symbol Packages:<BR><A href="http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx" target=_blank><FONT color=#0000ff>http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx</FONT></A><BR>如果你的操作系统是32位的话,则到如下地址下载并安装Debugging Tools for Windows 32-bit Version:<BR><A href="http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx" target=_blank><FONT color=#800080>http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx</FONT></A><BR>如果你的操作系统是64位的话,则到如下地址下载并安装Debugging Tools for Windows 64-bit Version:<BR><A href="http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx" target=_blank><FONT color=#800080>http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx</FONT></A><BR><BR><STRONG>Step 2:</STRONG><BR>从朋友处拿crash dump。一般是Mini Dump,在%SystemRoot%\Minidump文件夹下,如果是“核心内存转储”or“完全内存转储”则是文件%SystemRoot%\MEMORY.DMP,不过文件就大得多。<BR><BR><STRONG>Step 3:</STRONG><BR>然后点击“开始/所有程序/Debugging Tools for Windows/Windbg”,在打开的Windbg中,“File/Open Crash Dump”,在弹出的对话框中找到该dump文件,然后打开。
<DIV class=quote>
<H5>引用:</H5>
<BLOCKQUOTE><BR>***** Kernel symbols are WRONG. Please fix symbols to do analysis.<BR>Unable to load image RtkHDAud.sys, Win32 error 2<BR>*** WARNING: Unable to verify timestamp for RtkHDAud.sys<BR>*** ERROR: Module load completed but symbols could not be loaded for RtkHDAud.sys<BR>*** WARNING: Unable to verify timestamp for portcls.sys<BR>*** ERROR: Module load completed but symbols could not be loaded for portcls.sys<BR>*** WARNING: Unable to verify timestamp for ks.sys<BR>*** ERROR: Module load completed but symbols could not be loaded for ks.sys<BR>*** WARNING: Unable to verify timestamp for sysaudio.sys<BR>*** ERROR: Module load completed but symbols could not be loaded for sysaudio.sys<BR>*** WARNING: Unable to verify timestamp for wdmaud.sys<BR>*** ERROR: Module load completed but symbols could not be loaded for wdmaud.sys<BR><STRONG>Probably caused by : RtkHDAud.sys ( RtkHDAud+41813d )</STRONG></BLOCKQUOTE></DIV>Probably caused by RtkHDAud.sys?可能声卡驱动文件RtkHDAud.sys引起的问题?<BR><BR><STRONG>Step 4:</STRONG><BR>然后在窗口的最下面输入“lmvm RtkHDAud”命令并回车查看RtkHDAud.sys的时间戳。
<DIV class=quote>
<H5>引用:</H5>
<BLOCKQUOTE>1: kd> lmvm RtkHDAud<BR>start end module name<BR>f3f60000 f43af000 RtkHDAud T (no symbols) <BR> Loaded symbol image file: RtkHDAud.sys<BR> Image path: RtkHDAud.sys<BR> Image name: RtkHDAud.sys<BR><STRONG> Timestamp: Tue Aug 01 19:06:58 2006 (44CF35D2)</STRONG><BR> CheckSum: 0042EB37<BR> ImageSize: 0044F000<BR> Translations: 0000.04b0 0000.04e0 0409.04b0 0409.04e0</BLOCKQUOTE></DIV>2006-8-1,可能是比较旧的驱动了。是不是使用新驱动即能解决这个问题呢?<BR><BR><BR><STRONG>Step 5:</STRONG><BR>然后依据法一的Step 4和Step 5下载新驱动,解决了问题。<BR><BR><BR>备注0:为什么找不到Dump文件?<BR>因为在“启动和故障恢复”中把“写入调试信息”设为“(无)”了。请修改为“小内存转储(64KB)”即可。<BR><BR>备注1:在Windbg对Dump的文件中,如果输入!analyze -v即可在STACK_TEXT查看Debug的堆栈信息。可怜自己才疏学浅,都看不明白......<BR><BR>备注2:在Windbg中如果想打开新的dump文件,应该是使用菜单栏的“Debug/Detach Debuggee”。<BR><BR>备注3:<BR>如果对IRQL_NOT_LESS_OR_EQUAL (0xA)的错误想深究调试下去的话可以看这篇文章:《如何在收到 Stop 错误 IRQL_NOT_LESS_OR_EQUAL (0xA) 后调试系统》<BR><A href="http://support.microsoft.com/kb/818501/zh-cn" target=_blank><FONT color=#0000ff>http://support.microsoft.com/kb/818501/zh-cn</FONT></A><BR><BR>如果对程序调试有兴趣的话可以下载下面的PDF,《Windows用户态程序高效排错》:<BR><A href="http://www.cnblogs.com/lixiong/archive/2006/08/16/475520.html" target=_blank><FONT color=#0000ff>http://www.cnblogs.com/lixiong/archive/2006/08/16/475520.html</FONT></A><BR><BR>
页:
[1]