您好我发现我的应用程序会导致一些记录在事件日志中的错误。
它声明:
NET Runtime 2.0 Error
EventType clr20r3, P1 *****.exe, P2 1.0.0.0, P3 4b2a572f, P4 system.web.services, P5 2.0.0.0, P6 4889df18, P7 bc, P8 65, P9 system.net.webexception, P10 NIL.
我怎样才能知道发生了什么?我在本地试过那个应用程序,一切正常。
答案 0 :(得分:3)
您的应用程序因未处理的异常而崩溃。 Watson日志不足以找到原因。为AppDomain.CurrentDomain.UnhandledException事件编写一个事件处理程序,让它将e.ExceptionObject.ToString()写入事件日志,这样你就可以得到一个好的堆栈跟踪,显示它被轰炸的原因和位置。
答案 1 :(得分:1)
您能描述一下它的应用类型吗?它在做什么,是交互式还是非交互式?
实际错误是system.net.webexception
- 这是与网页或网络服务进行通信的某种形式的问题。这本身就表明,如果它在你尝试时工作正常可能会出现间歇性错误。
当远程运行时,这些或某些东西配置错误 - 与您的环境不同。例如,您是否使用远程运行应用程序时不可用的内部DNS条目?
您需要捕获应用程序中的所有异常(例如try { } catch { }
方法中的整体main
)并将异常记录到文件中,或者让它通过电子邮件发送给您自己,所以你可以更详细地看到发生了什么。
答案 2 :(得分:1)
它看起来像一个未处理的异常。如果它是在Web应用程序或服务中生成的,您可以尝试在global.asax文件中放置一个全局异常处理程序。有关示例,请参阅here。您可以捕获错误并将更好的信息输出到事件日志中。
答案 3 :(得分:1)
以下是您的事件日志条目中的简单说明
P4 system.web.services - module that was throwing the exception
P9 system.net.webexception - Exception Type
P8 65 - IL Offset where the exception was thrown
这些是用于获取异常调用堆栈的Watson存储桶。从.NET 2.0开始,Watson报告就有了这些信息。
以上解释为MSDN article。