ASP.NET未处理错误(Unhandled Exception)调试试验

ASP.NET未处理异常(Unhandled Exception)调试试验问题介绍网站运行的时候是否遇到过未处理异常(unhandled

ASP.NET未处理异常(Unhandled Exception)调试试验
问题介绍

网站运行的时候是否遇到过未处理异常(unhandled exception)造成网站进程退出报503(service unavailable)错误?但是也有时未处理异常仅仅是在页面上显示出错信息,网站进程还在照常运行。

为什么同样发生了异常,结果却截然不同?这种问题该如何调试?

这片文章通过调试试验来揭开这些问题的答案。


第一种情况

ASP.NET网站运行过程中莫名其妙的退出,在系统事件日志中会有如下记录。


系统日志中也会有这么一条记录。


应用程序日志中记录为一个警告,当时系统日志中并没有相应的错误。w3wp进程也没有退出。

<configuration><runtime><legacyUnhandledExceptionPolicy enabled="true" /></runtime></configuration>

解决办法

对于这个问题的调试方法相对来说就简单很多,只要我们知道异常的调用栈信息,这个问题就很明了了,所以我们可以通过以下两种方式抓到这个信息。


第一种,把异常调用栈信息记录在日志里,参考这个链接

http://support.microsoft.com/kb/911816/zh-cn


第二种,抓crash dump,各种工具都可以用,

Adplus - http://support.microsoft.com/kb/286350

Windbg - 异常断电 + .dump /ma c:\dumps\youdumpname.dmp

Debugdiag - http://support.microsoft.com/kb/919789/zh-cn