完全随机,突然我们的应用程序在其生产环境中崩溃。该应用程序在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 antivirus和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
答案 0 :(得分:1)
我建议您使用Windows的AdPlus实用程序的MS调试工具在崩溃时完全转储该进程,然后使用WinDBG查看发生的情况。 (使用!threads,!clrstack,!PrintException)。