标签: executionengineexception

应用程序崩溃".NET运行时中的内部错误"

我们有一个针对.NET 4.0编写的应用程序,它在周末崩溃,将以下消息放入事件日志中:

应用程序:PnrRetrieverService.exe Framework版本:v4.0.30319
描述:由于.NET运行时在IP 791F9AAA(79140000)处出现内部错误而导致进程终止,退出代码为80131506.

这是在Windows Server 2003 R2标准版框中.谷歌搜索这个错误没有发现任何相关的.例如,这不是在VS Studio中发生的,而是在生产框中发生; 当服务最终重新启动时,它没有遇到任何进一步的问题.

如何诊断.NET运行时中的错误?

.net runtime-error executionengineexception

106
推荐指数
6
解决办法
11万
查看次数

使用LLVM ExecutionEngine调用Objective-C方法时,无法识别所有选择器

我正在运行OSX,使用Clang编译一些使用OSX Cocoa类的Obj-C代码,我正在尝试使用LLVM JIT编译器运行结果.我正在使用LLVM/Clang的最新版本.

编译或链接我的代码没有问题,我可以毫无困难地愉快地进行C和C++系统调用.但是我所有的Obj-C调用都惨遭失败,而且我不能深入研究原因!该objc_msgSend()函数似乎被正确调用,但运行时拒绝识别最简单的选择器.

我设法使用Clang和LLI重现问题,这是如何做到的:

创建一个简单的文件test.mm:

#include <Cocoa/Cocoa.h>
#include <cstdio>
#include <iostream>

extern "C" int main (int, char**)
{
    std::cout << "==== step 1" << std::endl;

    NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
    [pool release];

    std::cout << "==== step 2" << std::endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

..用clang将它编译成bitcode:

clang -emit-llvm test.mm -c -o test.bc
Run Code Online (Sandbox Code Playgroud)

然后用lli运行它:

lli -load=/System/Library/Frameworks/Foundation.framework/Versions/Current/Foundation test.bc
Run Code Online (Sandbox Code Playgroud)

lli的输出如下所示:

==== step 1
objc[45353]: Object 0x101a362a0 of class __NSCFString autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() …
Run Code Online (Sandbox Code Playgroud)

jit objective-c llvm clang executionengineexception

13
推荐指数
1
解决办法
678
查看次数

为什么并发GC有时会导致ExecutionEngineException(每个MSDN)?

根据MSDN的说法,有一个"提示"指出,在重负载下运行的.NET应用程序具有并发垃圾收集(无论是<gcConcurrent enabled="true"/>指定的还是未指定的,因为它是默认行为)可能会抛出ExecutionEngineException.是否有人知道Microsoft知识库文章或其他来源提供了额外的背景知识?

我们直接使用基于NHibernate 3.2的Windows服务应用程序,经过最多几个小时的运行后,它总是会崩溃.我们能够跟踪ISession.Flush()调用的异常.

nhusers上有一个线程报告似乎是同一个问题.他建议的解决方法,即禁用并发GC,到目前为止对我们有用,虽然切换到服务器模式GC(<gcServer enable="true"/>),隐式禁用并发GC,也做了伎俩.

在将此作为错误提交给MS之前,我想知道是否有人提供有关并发GC不稳定性的其他信息.

.net nhibernate garbage-collection executionengineexception

12
推荐指数
1
解决办法
2746
查看次数

如何查找System.ExecutionEngineException Exception的源代码

我有一个非常大的应用程序.我的应用程序有时抛出System.ExecutionEngineException,我无法找到此异常的来源.有什么办法找到它吗?

c# exception executionengineexception

6
推荐指数
1
解决办法
3807
查看次数

如何使.NET 4抛出ExecutionEngineException?

我们的应用程序有时会引发一种情况ExecutionEngineException.我认为当它发生时,应用程序应该崩溃,但它不会崩溃.即使事件查看器声称应用程序已终止 - 它仍继续运行!只是看起来有问题的线程被静默杀死.

问题是我们无法在发生时重新创建条件 - 可疑代码在异常发生之前执行了数千次.日志中没有任何内容.简而言之 - 我们感到困惑.

我希望能够随意生成此异常,以便了解应用程序在发生时的行为方式.当然,它必须由框架本身抛出,发布throw new ExecutionEngineException不计算在内.

所以,我的问题是 - 我怎样才能可靠地引起它?请提供代码示例.

我们在.NET 4上,很快就转向.NET 4.5

.net executionengineexception

6
推荐指数
1
解决办法
542
查看次数

使用C#中的弱处理程序引发PropertyChanged事件时发生ExecutionEngineException

我正在尝试引发一个由弱事件处理程序(通过PropertyChangedEventManager)监听的PropertyChanged事件.出于某种原因,我在举起事件时遇到了ExecutionEngineException.

我的事件提升代码如下:

protected virtual void RaisePropertyChanged(string aPropertyName)
{
    var lHandler = this.PropertyChanged;

    if (lHandler != null)
    {
        // ExecutionEngineException is thrown here
        lHandler(this, new PropertyChangedEventArgs(aPropertyName));
    }

    return;
}
Run Code Online (Sandbox Code Playgroud)

我的处理代码如下:

public bool ReceiveWeakEvent(Type aManagerType, object aSender, EventArgs e)
{
    bool lHandled = false;

    if (aManagerType == typeof(PropertyChangedEventManager))
    {
        OnPropertyChanged(aSender, e as PropertyChangedEventArgs);
    }

    return lHandled;
}
Run Code Online (Sandbox Code Playgroud)

当我搜索此异常时,我没有得到任何有用的结果,并且异常本身不包含任何有用的信息!是什么导致了这个问题?

c# weak-references inotifypropertychanged executionengineexception

2
推荐指数
1
解决办法
622
查看次数