.Net 4.0 Windows应用程序在Windows Server 2008下的clr.dll中崩溃

时间:2011-03-03 23:23:35

标签: windows .net-4.0 crash clr

我有一个Windows应用程序计划每天运行,并且由于EventViewer中的以下日志而间歇性地失败。

Faulting application name: MyApplication.exe, version: 1.0.0.0, time stamp: 0x4d54829a
Faulting module name: clr.dll, version: 4.0.30319.1, time stamp: 0x4ba21eeb
Exception code: 0xc0000005
Fault offset: 0x00000000000029e1
Faulting process id: 0xbb1c
Faulting application start time: 0x01cbd99223d8b4eb
Faulting application path: E:\MyApplication\MyApplication.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Report Id: 7e74ec7e-45a5-11e0-a95d-003048de380d

在第二个EventViewer日志中,它说:

The process was terminated due to an internal error in the .NET Runtime at IP 000007FEF97329E1 (000007FEF9730000) with exit code 80131506.

服务器是Win Server 2008 R2,应用程序使用.Net 4.0(正如您在错误日志中看到的那样)。

应用程序密集使用多线程并从远程数据库读取并写入本地硬盘。

对此问题的原因有任何猜测以及如何调查的任何帮助?我不知道它在应用程序的生命周期中失败了大约5-10个小时。

3 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。在大约8-10小时的应用寿命中,CLR误差上升。我怀疑我的非托管代码在后台线程中生成异常。但是我无法找到原因。您可以试试以下内容:

如果您已找到解决方案,请与我们联系。

答案 1 :(得分:1)

我遇到了类似的问题,所以这可以帮助未来的用户找到解决方案:

我们使用Apache log4net作为应用程序日志。

更新到DLL版本1.2.15之后,对于dotnet Framwork 4.5,一旦日志文件达到最大大小(10MB),它就会开始触发这个确切的异常

答案 2 :(得分:0)

此修补程序大部分都已消失,我也遇到了类似的问题,因此,我将在此处分享我的答案。

我的解决方案围绕以下事实:我将Lamda传递给P / Invoke:

https://stackoverflow.com/a/52360307/4700841

相关问题