您的位置:首页 > 其它

【WindowsServer§一个IIS进程无法启动的问题§】

2013-07-10 11:36 501 查看
【windowsserver§一个iis进程无法启动的问题§】

客户的一台测试服务器出现iis进程无法启动的现象。windows事件查看器给出如下信息:



       现场已经检查过iis相关配置信息,没有发现问题。另外,也使用过aspnet_regiis.exe来重新注册,但仍然不能解决问题。

初步分析

仔细检查windows事件查看器给出的信息,基本都是连续5次警告后,接着一个错误。警告信息如下:


这说明是iis连续5次都未能为应用程序池”defaultapppool”成功创建w3wp进程,于是自动禁用了应用程序池。通过eventid=5022可以检索到更多信息:

ghost win7系统下载technet.microsoft.com/en-us/library/cc735004(ws.10).aspx

 

在这个网页中,指示微软提供了一个err.exe工具,可以查看错误号的具体含义:

1. 下载地址:microsoft.com/download/en/details.aspx?displaylang=en&id=985

2. err工具相关说明:blogs.msdn.com/b/astebner/archive/2008/06/17/8611734.aspx

 

ok,首先通过查看事件的详细信息可以得到具体的错误号(0x80070002):


接着就用这个err工具来查看错误号的具体含义:
装机常用网络软件


从以上信息可初步推断,filenotfound是最可能的问题原因。

问题确认

既然怀疑的方向是filenotfound,那么就该确认究竟是什么文件不能被找到?这就要使用procmon工具了(sysinternals著名的系列工具之一)。

 

运行procmon,美瞳控先仅选中show file system activity。然后尝试登录portal,复现w3wp无法启动的现象,从文件跟踪过程中找到与w3wp有关的一段信息:

<IMG style="BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" title=image border=0 alt=image src="http://bbs.siteserver.cn/upload/2013/7/10113121383.png"
width=670

有趣,似乎是要用一个aqdebuggerwrapper6x64.exe的程序来启动w3wp.exe?

 

再次重现问题,这次我们同时启用procmon的show registry activity:

<IMG style="BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" title=image border=0 alt=image src="http://bbs.siteserver.cn/upload/2013/7/10113122258.png"
width=670

ok,至此问题已经清楚,原来是启用了imagefilee xecutionoptions调试功能,该功能允许启动任意一个程序时将控制权转由另外一个程序来执行。通常,这个功能被调试器所用。检查c:\windows\system32下,并无aqdebuggerwrapper6x64.exe程序,难怪报错filenotfound(0x80070002)。

 

经了解,原来这台机器上刚安装过一个aqtime 6.2的分析工具,但使用时总是出现av错误,所以又被卸掉了。看来,就是在卸载过程中出现了异常,在注册表中还残留了一些与aqtime相关的信息,导致w3wp启动时转由aqtime调试器来执行,而aqtime调试器已经被卸掉了,所以w3wp无法启动。

总结

分析这个案例有两个收获:

找到一个err.exe工具
这个工具可用于查找微软底层程序报出的错误号的具体含义,很有用
了解到注册表imagefilee xecutionoptions控制的调试功能
以前也接触过,但略过去了。这次细致研究了一下,发现的确是一个很有用的特性。例如,可以利用这个功能在w3wp启动阶段挂windbg或visual studio调试器。
tag:的一个无法iis进程问题启动简述防范技巧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐