Aar*_*onS 7 asp.net crash iis iis-6 crash-dumps
我有一个使用IIS 6在Windows Server 2003 Standard x64上运行的.net 2.0 Web应用程序.
我们网站的应用程序池最近崩溃了,我无法确定原因.它开始发生在一个周末,该网站的最新版本是几天前发布的.我已经确定最近没有对服务器进行任何其他更改,包括代码和Microsoft更新.
每当发生崩溃且数据块中没有其他信息时,事件日志会显示以下内容:
错误应用程序w3wp.exe,版本6.0.3790.3959,邮票45d691cc,错误模块kernel32.dll,版本5.2.3790.4062,邮票462643a7,调试?0,故障地址0x0000000000027d8d.
这是在x64服务器上运行,所以我不能使用任何标准的调试诊断工具,因为即使它有64位版本,它只附加到以32位模式运行的IIS.
我已经尝试使用Windows调试工具(x64)并能够连接到w3wp进程,并等待另一次崩溃.但是,这会使服务器放慢速度以至于无法使用,所以我不得不停下来.
我可以使用哪些其他方法来确定IIS崩溃的原因?
策略#1 - 记录异常
第一种方法,也就是我可能建议的方法,就是创建一个UnhandledExceptionHandler来在事件日志中记录异常及其堆栈跟踪,如本文 http:// support所示. microsoft.com/?id=911816 您可以将这样的处理程序添加到web.config:Run Code Online (Sandbox Code Playgroud)<system.web> <httpModules> <add type="WebMonitor.UnhandledExceptionModule, <strong name>" name="UnhandledExceptionModule"/> </httpModules> … </system.web>它将事件处理程序挂钩到当前应用程序域的UnhandledException事件.您实际上并不需要对其进行强名称并将其添加到GAC,但是如果您在多个应用程序中进行规划,则应该避免多次加载dll.现在,当您下次获得其中一个未处理的异常时,该过程仍将退出(除非您更改未处理的异常策略),但您很有可能解决该问题.
| 归档时间: |
|
| 查看次数: |
11524 次 |
| 最近记录: |