.net 应用程序错误,错误模块名称:KERNELBASE.DLL
我有一个用.NETFramework 3.5编写的应用程序。这是一项在Windows Server 2003 R2上运行的服务。应用程序有一个全局异常处理,包括一个try-catch之外发生的所有异常都被此全局异常处理捕获(使用AppDomain.UnhandledException完成) 无论如何,应用程序可能会崩溃。崩溃后,我可以在Windows的事件查看器中看到“应用程序错误”。它告诉我:.net 应用程序错误,错误模块名称:KERNELBASE.DLL,.net,vb.net,crash,application-error,.net,Vb.net,Crash,Application Error,我有一个用.NETFramework 3.5编写的应用程序。这是一项在Windows Server 2003 R2上运行的服务。应用程序有一个全局异常处理,包括一个try-catch之外发生的所有异常都被此全局异常处理捕获(使用AppDomain.UnhandledException完成) 无论如何,应用程序可能会崩溃。崩溃后,我可以在Windows的事件查看器中看到“应用程序错误”。它告诉我: Faulting application name: MyApplication.exe Fault
Faulting application name: MyApplication.exe
Faulting module name: KERNELBASE.DLL, version 6.3.9600.18007
Exception code: 0xe06d7363
此代码在frmMain_负载范围内:
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)我在代码中的不同位置插入了未捕获的异常,但每次都会处理该异常。这是关于我的开发环境。也许,我必须在服务器上测试这个
我有什么问题?如何分析此错误?
欢迎提供任何提示。在应用程序启动或表单加载期间,您是否订阅了
未处理的异常
事件?如果是在表单加载期间,请尝试在启动期间通过订阅。有关更多信息,请参阅。@VisualIncent是的,您是对的,我正在表单加载中订阅它。“查看应用程序事件”按钮未启用,因为我正在运行一个启动隐藏窗体的服务。为什么我要在表单外部激活未处理的异常处理?因为如果在订阅事件之前抛出错误,您将无法捕获它。我肯定会在错误发生之前订阅。我在应用程序开始时订阅,几个小时后出现错误。嗯,恐怕我不知道更多。。。