.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) コードのさまざまな場所にキャッチされていない例外を挿入しましたが、例外が処理されるたびに。これは私の開発環境にあります。たぶん、サーバーでこれをテストする必要があります。
どのような問題がありますか? このエラーを分析するにはどうすればよいですか? どんなヒントでも大歓迎です。