【问题标题】:KERNELBASE.dll Exception 0xe0434352 offset 0x000000000000a49d [duplicate]KERNELBASE.dll 异常 0xe0434352 偏移量 0x000000000000a49d [重复]
【发布时间】:2014-06-11 03:13:18
【问题描述】:

我最近从我们的一个客户那里收到了一些系统事件日志,该客户在虚拟机上运行我们的应用程序。

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

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

后面是一个以 "The directory name is invalid" 结尾的巨大 rdlc 堆栈跟踪

我一直试图确定Fault offset: 0x000000000000a49d Exception code: 0xe0434352 的真正含义。到目前为止,我只能说我可能与用户访问权限有关,KERNELBASE.dll 可能已损坏,或者可能是一些神秘的 Microsoft voodoo。

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

【问题讨论】:

  • 听起来您只是在执行文件 IO 时错过了应用程序中的一些异常处理。那将是第一个开始的地方。此外,您应该发布完整的堆栈跟踪,不要害羞。
  • @Ashigore 有问题的例外是表单 Microsoft.Reporting.WinForms.LocalProcessingException ,它基本上表示为导出提供的路径无效。这是没有意义的,因为就在调用 export 之前,我创建了所有必需的目录结构,并且没有任何问题的提示。
  • @memoryofadream 创建目录和写入文件之间是否可能存在竞争条件?也许在创建目录后插入循环检查以检查路径现在是否有效,然后再继续?
  • @Ashigore 感谢您的建议,但这不是问题。我的日志显示该文件夹已于去年 10 月成功创建,并且此导出功能从那时起一直在使用它而没有出现问题。我唯一的猜测是该应用程序没有足够的权限在此文件夹中创建文件。至少在这次运行期间不会。这就是我试图理解这些 CLR 代码的原因。我希望他们能对某些事情有所了解。
  • @leppie 感谢您的链接。我应该理解有问题的异常代码代表 AppDomain.UnhandledException 吗?

标签: .net windows


【解决方案1】:

0xe0434352 是 CLR 异常的 SEH 代码。如果您不明白这意味着什么,请停下来阅读A Crash Course on the Depths of Win32™ Structured Exception Handling。所以你的进程没有处理 CLR 异常。不要射击信使,KERNELBASE.DLL 只是不幸的受害者。肇事者是 MyApp.exe。

DrWatson 文件夹中应该有一个完整堆栈的崩溃小型转储,它将包含解决问题所需的所有内容。

我建议您在 myapp.exe 代码中连接AppDomain.UnhandledExceptionApplication.ThreadException,视情况而定。

【讨论】:

  • 谢谢,这对我有帮助。我已经包装了我的代码以捕获所有异常,结果发现它缺少一些第三方程序集。它在 Exception.Message 中清楚地显示了找不到哪个文件。
  • 对我来说,我更新为SP1(从 13.0.1728.2 到 13.0.4001.0)。在我安装了 Visual Studio、Data Tools 和其他东西后,可能有一些东西被破坏了。不应该引起问题,但要考虑一些事情。 :)
  • 您的链接已失效。这是另一种选择:www-user.tu-chemnitz.de/~heha/viewchm.php/hs/Win32SEH.chm/…
  • 那个链接也失效了。看到这个:bytepointer.com/resources/…
猜你喜欢
  • 1970-01-01
  • 2013-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-06
相关资源
最近更新 更多