电脑系统非常复杂,运行过程难免会出现各种各样的疑难杂症,这无时无刻不在考验着 IT 人的精神和意志。除了要不停的学习,以掌握大量的技术之外,还得具有丰富的实战经验和面对未知问题大胆猜想、分析蛛丝马迹的能力,某种程度上和电视剧《风语》中破译密码的工作差不多。
今天遇到的这个问题就是以前没有遇到过的,难度不大,但属于摸着石头过河。我把一步步分析和解决的方法记录下来,分享给大家:
在QQ主面板上看到QQ邮箱又有新邮件了,当我点击图标时,QQ却没有像往常一样打开浏览器访问QQ邮箱,情急之下又多点了几次:
首先想到是不是CPU和内存占用太大导致系统缓慢,打开任务管理器看了一下,资源占用完全正常。正在这时,Internet Explorer 突然蹦了出来,一股脑打开了十多个QQ邮箱网页,这离我点击QQ邮箱图标已经过去了几十秒的时间。
关掉IE,重新尝试了一下,仍然是这样,不过当IE在经过很长一段时间打开之后,在不关闭IE的情况下点击QQ邮箱图标,却没有问题。
IE程序启动缓慢,考虑可能是IE的某个加载项导致的这一问题。禁用了所有加载项,仍然无济于事:
并且当我单击任务栏上的IE图标时,浏览器可以直接打开,在硬盘上建立一个网址链接(*.url),IE也可以直接打开,没有任何延迟。
看来是QQ程序出问题了吗?重新启动QQ,问题依旧;重装QQ,仍然是那样。
再试试其他的程序,当在QQ中发生此问题时,在 Windows Live Messenger、Windows Live Mail 等程序中单击网页链接也会有相同的问题,说明这一问题与QQ无关。
看来得拿出杀手锏才行了。运行系统行为监视程序 Process Monitor,监视QQ和IE在这个操作中都发生了什么行为。监视结果表明,在单击邮箱图标之后QQ并没有值得怀疑的状况,正常运行。并且IE进程并没有在单击链接时启动起来,而是直到打开网页窗口之后才出现。IE在延迟期间并没有启动起来,说明这个问题和IE无关,因为一个进程还没有产生,就像人还没有胚胎,是不会有任何行为的。难道说,是其他程序在作怪嘛?
使用 Process Explorer 查看IE的进程属性得知,它的确是由QQ启动的:
延迟,暂停,等待~~这些词汇在脑海中浮现。这时,突然想起最近用得比较多的一个系统内置程序“资源监视器”,也可以监视进程的运行情况,其中有一项查看进程“等待链”的功能,与其他工具相比比较有特色。
于是在单击QQ邮箱图标后,从任务管理器的“性能”选项卡启动“资源监视器”,切换到CPU选项卡,找到QQ进程,右键单击它,选择“分析等待链”,发现QQ正在等待 CBTray.exe 执行:
CBTray.exe 是金山词霸的系统托盘图标程序,难道会引起这个问题?不过把他终止之后,问题果然是解决了!
经过了“怀疑——排除——怀疑——排除”的多个环节之后,罪魁祸首终于找到了。前不久也听说过金山词霸是导致 Windows 不稳定的一个大麻烦,现在看来果然不假。
在发现此问题后,已经换上了最新的金山词霸 2011 Beta 版,准备使用一段时间后再观察是否有该问题。
在本案例中,没有采用高深的调试技术,只利用了一些平时的经验和系统内置的“资源监视器”程序就发现了问题的原因,普通用户也可以学习学习。在此还要提醒朋友们,以后在遇到系统出问题时,除了考虑杀毒、系统设置被破坏等常规排查因素外,还应该重视后台运行的第三方程序(特别是某些国产软件)对系统的影响,千万不要武断的认为是操作系统本身的问题。
本文转自wbpluto 51CTO博客,原文链接:http://blog.51cto.com/wbpluto/496454,如需转载请自行联系原作者