XXX.exe 中发生了“System.ExecutionEngineException”类型的未处理异常

Posted

技术标签:

【中文标题】XXX.exe 中发生了“System.ExecutionEngineException”类型的未处理异常【英文标题】:An unhandled exception of type 'System.ExecutionEngineException' occurred in XXX.exe 【发布时间】:2013-04-10 12:30:40 【问题描述】:

我有一个用 C++ 编写的 DLL 文件。我尝试在我的 c# 代码中使用 C++ DLL。 C++ 方法调用正确,但处理完成后报错。

异常详情:

completed.System.ExecutionEngineException 未处理 消息 = 'System.ExecutionEngineException' 类型的异常是 扔了。

【问题讨论】:

如果您能向我们展示ExecutionEngineExceptionMessageStackTrace 字段,将会有所帮助。 msdn.microsoft.com/en-sg/library/… 您有 C++ dll 的调试版本吗?如果是,您可以调试它。您还可以使用 Microsoft Debugging Tools for windows 创建应用程序转储。 这通常意味着非托管DLL中存在内存损坏错误,并且正在损坏引擎。 【参考方案1】:

这段代码我也遇到了同样的问题:

    [DllImport("camapi.dll", CharSet = CharSet.Unicode)]
private static extern CSTATUS_T CWRAPPER_GetFriendlyName(IntPtr pCameraBus, string sCamID, out StringBuilder sFriendlyName, 
                                                         uint uBufferSizeInWords);

public static string CWRAPPER_GetFriendlyName(IntPtr pCameraBus, string sCamID)

    var sFriendlyName = new StringBuilder(256);
    var status = CWRAPPER_GetFriendlyName(pCameraBus, sCamID, out sFriendlyName, (uint)s.Capacity + 1);
    return (status == CSTATUS_T.CSTATUS_SUCCESS) ? sFriendlyName.ToString() : "";

问题出在“out”关键字上。 MSDN 上的示例没有'out'。

希望对某人有所帮助... 西蒙

【讨论】:

以上是关于XXX.exe 中发生了“System.ExecutionEngineException”类型的未处理异常的主要内容,如果未能解决你的问题,请参考以下文章

QT :-1: error: LNK1168: 无法打开 xxx.exe 进行写入

:-1: error: LNK1168: 无法打开 xxx.exe 进行写入

c#防止exe多次启动

即时解密EXE

Solve Error: Unhandled exception at 0x00905a4d in xxx.exe: 0xC0000005: Access violation.

windows命令行打开opencv的exe不行