2010-02-05 53 views
4

我已经使用VS 2008(目标为Framework 3.5)构建了Windows服务。当我安装和尝试我的工作站上运行的服务,它崩溃了.NET Framework错误有以下细节:致命执行引擎错误(7A097706)(80131506)

Event Type: Error 
Event Source: .NET Runtime 
Event Category: None 
Event ID: 1023 
Date:  2/5/2010 
Time:  11:40:48 AM 
User:  N/A 
Computer: SP901601 
Description: 
.NET Runtime version 2.0.50727.3053 - Fatal Execution Engine Error (7A097706) (80131506) 

然后,另一个错误:

Event Type: Error 
Event Source: .NET Runtime 2.0 Error Reporting 
Event Category: None 
Event ID: 1000 
Date:  2/5/2010 
Time:  11:40:48 AM 
User:  N/A 
Computer: SP901601 
Description: 
Faulting application MyService.exe, version 1.0.0.0, stamp 4b6c5757, faulting module mscorwks.dll, version 2.0.50727.3053, stamp 4889dc18, debug? 0, fault address 0x0001c2b7. 

我已经重建服务从头开始重新构建安装项目,从工作站中删除并重新安装.NET Framework 3.5 SP1,尝试以本地系统以及特定域帐户的身份运行,并且所有这些都无法解决问题。

任何想法?

回答

2

这是CLR在检测到垃圾收集堆已损坏时生成的异常。这种腐败的最典型的来源是非托管代码写入托管数组并溢出阵列边界。

如果你不知道什么非托管代码可能会这样做,那么你需要进行相当艰难的调试。 Fwiw,病毒扫描程序非常臭名昭着,尤其是赛门铁克的产品。

+1

因此,病毒扫描程序可能导致CLR炸弹对我的服务?我的服务中没有非托管代码。 – 2010-02-05 18:20:30

+1

是的,请链接:http://www.google.com/#hl=en&source=hp&q=symantec+fatal+execution+engine+error&aq=f&aql=f&aqi=&oq=&fp=c26c79a56c95bda8 – 2010-02-05 19:41:18

+0

好的。谢谢你的帮助。 – 2010-02-05 19:42:15