为每个例外获取IIS 7.5和C#的堆栈跟踪

时间:2012-07-11 10:41:59

标签: c# iis iis-7.5 stack-trace

我在IIS 7.5上运行了一个C#WCF应用程序。

如果抛出异常,我会收到通用请求失败页面。为了找到有罪的代码,我想得到一个完整的堆栈跟踪,包括行号和文件名。我怎么能这样做?

无论是直接返回堆栈还是在服务器上内部记录都无关紧要,只要我能看到导致错误的原因。

更新:感谢您的回答。不幸的是我是IIS / c #newbee。是否有任何教程或分步说明?到目前为止,我还不知道如何处理答案。

4 个答案:

答案 0 :(得分:1)

您可以在代码中使用几个事件处理程序来调用一些日志记录功能

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException);

另外,您应该在服务行为配置中设置includeExceptionDetailInFaults=true

答案 1 :(得分:1)

答案 2 :(得分:0)

  • 在Try-Catch语句中调用以记录错误。 ASP.Net Tracing函数非常适合此任务。

  • 或者将异常冒泡到传入和记录Exception.StackTrace的日志记录函数。

  • 使用AppDomain.CurrentDomain.UnhandledException @paul提及,一次性完成。

答案 3 :(得分:0)

我将一个名为ExceptionTrace的程序添加到版本4的http://stackdump.codeplex.com/项目中.1 Beta将跟踪所有生成的异常,而不会对代码进行任何更改。它只将自身附加为调试器并侦听所有生成的异常。