0

我有一个用 .Net Framework 3.5 编写的应用程序。它是在 Windows Server 2003 R2 上运行的服务。该应用程序有一个全局异常处理,包括一个在 try-catch 之外发生的所有异常都被这个全局异常处理捕获(通过 AppDomain.UnhandledException 完成)。

无论如何,应用程序崩溃了。崩溃后,我可以在 Windows 的事件查看器中看到“应用程序错误”。它告诉我:

Faulting application name: MyApplication.exe
Faulting module name: KERNELBASE.DLL, version 6.3.9600.18007
Exception code: 0xe06d7363

此代码在 frmMain_Load 中:

 AddHandler Application.ThreadException, AddressOf ThreadExceptionHandler
 AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf UnhandledExceptionHandler

这是对未处理异常的处理:

   Private Shared Sub ThreadExceptionHandler(ByVal sender As System.Object, ByVal e As System.Threading.ThreadExceptionEventArgs)

    HandleException(e.Exception, False)

End Sub

Private Shared Sub UnhandledExceptionHandler(ByVal sender As System.Object, ByVal e As System.UnhandledExceptionEventArgs)

    HandleException(CType(e.ExceptionObject, Exception), e.IsTerminating)

End Sub

Private Shared Sub HandleException(ByVal p_Exception As Exception, ByVal p_Kill As Boolean)

    Try
        ERROR_LOG.AddFatalError(New Exception("Unbehandelte Ausnahme." & If(p_Kill, " Die Anwendung wird beendet.", ""), p_Exception))
    Catch
    End Try
    If p_Kill Then System.Environment.Exit(-1)

End Sub

更新 1)我在代码的不同位置插入了未捕获的异常,但每次处理异常时。这是在我的开发环境中。也许,我必须在服务器上对此进行测试。

我有什么问题?我该如何分析这个错误?欢迎任何提示。

4

0 回答 0