【发布时间】:2012-03-17 17:55:51
【问题描述】:
完全随机,我们的应用程序突然在其生产环境中崩溃。该应用程序在 Windows XP 和 .net framework 3.5 sp1 上运行。在应用程序中,我们提供 WCF 服务,并使用串行端口。
当应用程序崩溃时,它会在应用程序日志中留下消息:
.NET Runtime version 2.0.50727.3625 - Fatal Execution Engine Error (7A0BC59E) (80131506)
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
和
Faulting application ***.exe, version 1.0.0.0, stamp 4f48b8fc, faulting module mscorwks.dll, version 2.0.50727.3625, stamp 4e154c98, debug? 0, fault address 0x000a03ea.
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
在我们的测试环境中,我们确实有类似的问题。
在互联网上我发现了几个相同的问题,都提到了热修复或重新安装。但我想知道会发生什么,不想发生什么。有谁知道发生了什么以及我们如何解决它?
[编辑] 除了应用程序之外,还安装了 Sophos 防病毒软件和 MySql。
[编辑 2] 在我们的应用程序中,我们使用包装在 .net 包中的 C 库。我们在更多的应用程序中使用该库,并且在那些它没有给出例外的应用程序中。
[编辑 3] 无法回答我自己的问题 好吧,我发现了一些东西:
http://support.microsoft.com/kb/959209/en-us 958481 .NET Framework 2.0 Service Pack 2 的应用程序兼容性更新解决的问题列表
在 .NET Framework 3.5 SP1 中,由于在 检查 NULL 值以支持地址空间布局随机化 (ASLR),失败案例会导致运行时中的访问冲突。这 访问冲突表现为 ExecutionEngineException 异常。 此外,该进程被终止。
http://www.microsoft.com/download/en/details.aspx?amp;displaylang=en&id=10006
【问题讨论】:
-
您是否在捕获未处理的异常?这可能会提供有关问题的一些额外信息
-
不幸的是,这个异常超出了我所有的捕获并关闭了应用程序。异常确实会立即发生,但会在数小时/数天后发生(最后一次异常发生在将近 2 天后)。
-
Try catching the unhandled ones,它可能会帮助您或至少为您提供有关此问题的更多信息
-
我已经编辑了我的问题,并提供了一个可能的解决方案。 @Hans Passant,确实他也得到了一个 ExecutionEngineException,只有他使用 .net 4.0。
标签: c# .net .net-3.5 windows-xp