突然,应用程序崩溃 - 致命执行引擎错误(7A0BC59E)(80131506)应用程序、突然、错误、引擎

2023-09-04 23:53:04 作者:心随你躁

在其生产环境完全随机的,突然间我们的应用程序崩溃。该应用程序在Windows XP和.NET Framework 3.5 SP1运行。在应用程序中,我们提供了一个WCF服务,我们使用串口。

Completely random and suddenly our application crashes on its production environment. The application runs on Windows XP and .net framework 3.5 sp1. In the application we provide a WCF service and we use the serial port.

当应用程序崩溃,叶在应用程序日志消息:

When the application crashes it leaves messages in the application log:

.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.

在我们的测试环境,我们也有类似的问题。

On our test environment we do have similar problems.

在网上我找到几个相同的问题,都提到热修复或重新安装。但我想知道发生了什么,不希望发生的。没有人知道会发生什么,我们该如何解决?

On the internet I find several identical problems, all mention hot fixes or reinstalls. But I want to know what happens and do not want happens. Does anyone knows what happens and how we can fix it?

除了应用程序也Sophos的反病毒和MySQL的安装。

[edit] Besides the application also Sophos antivirus and MySql is installed.

在我们的应用中,我们使用C库包在.NET包。我们使用这个库中更多的应用程序,并在那些它不给例外。

[edit 2] In our application we use a C-library wrapped in a .net package. We use the library in more applications and in those it does not give the exceptions.

不能回答我的问题 好吧,我发现了一些:

[edit 3] Cannot answer my own question Well I found something:

http://support.microsoft.com/kb/959209/en-us 那是由应用程序兼容性更新为.NET Framework 2.0 Service Pack 2的

http://support.microsoft.com/kb/959209/en-us 958481 List of the issues that are addressed by the Application Compatibility Update for the .NET Framework 2.0 Service Pack 2

因为这是在所做的更改在.NET Framework 3.5 SP1,   检查一个NULL值,以支持地址空间布局随机化   (ASLR),发生故障的情况下会导致运行时中的访问冲突。本   访问冲突表现为一个ExecutionEngineException例外。   此外,该处理终止。

In the .NET Framework 3.5 SP1, because of the changes that are made in checking a NULL value to support address space layout randomization (ASLR), a failure case causes an access violation in the runtime. This access violation manifests as an ExecutionEngineException exception. Additionally, the process is terminated.

http://www.microsoft.com/download/en/details.aspx?amp;displaylang=en&id=10006

推荐答案

我建议你使用MS Windows调试工具的ADPlus的工具来推动这一进程的完全转储时崩溃,然后使用WinDbg,看看发生了什么。 (使用!线程!clrstack,!PrintException)。

i suggest you use MS Debugging tools for windows's AdPlus utility to take a full dump of the process when it crashes and then use WinDBG to see what happend. (using !threads , !clrstack ,!PrintException).