2010-02-05 51 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