KERNELBASE.dllexception0xe0434352偏移量0x000000000000a49d

我最近收到了一个来自运行我们的虚拟机上的应用程序的客户端的系统事件日志。

我注意到日志中的这些条目:

Description: The process was terminated due to an unhandled exception. Framework Version: v4.0.30319 4/22/2014 5:05:28 PM;"Error";".NET Runtime";"1026";"Application: MyApp.exe Report Id: d50fe7ab-ca61-11e3-9e10-6805ca17040a" Faulting module path: C:\Windows\system32\KERNELBASE.dll Faulting application path: C:\Program Files\MyApp\bin\MyApp.exe Faulting application start time: 0x01cf5e44d3e971c2 Faulting process id: 0x13fc Fault offset: 0x000000000000a49d Exception code: 0xe0434352 Faulting module name: KERNELBASE.dll version: 6.1.7601.17514 time stamp: 0x4ce7c78c 4/22/2014 5:05:29 PM;"Error";"Application Error";"1000";"Faulting application name: MyApp.exe version: 1.2.1403.7002 time stamp: 0x5319d243 

后面跟着一个巨大的rdlc stacktrace,结尾是"The directory name is invalid"

我一直在试图确定什么Fault offset: 0x000000000000a49d Exception code: 0xe0434352真正意思。 到目前为止,我只能说我可能是与用户访问权限相关的东西,KERNELBASE.dll可能会被破坏,或者它可能是一些神秘的微软巫术。

有没有人有一个明确的答案,这是什么意思? 或者一个msdn的lync详细解释这个? 我真的很想了解这个问题背后的全部细节。

0xe0434352是CLR异常的SEH代码。 如果您不明白这意味着什么,请停下来阅读“Win32™结构化异常处理深度”的“速成课程” 。 所以你的进程不处理CLR异常。 不要拍摄使者,KERNELBASE.DLL只是不幸的受害者。 行为人是MyApp.exe。

在DrWatson文件夹中应该有一个完整的堆栈崩溃的小型转储,它将包含所有你需要的根源导致的问题。

我建议你在myapp.exe代码中根据情况连接AppDomain.UnhandledExceptionApplication.ThreadException