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' 类型的异常是 扔了。
【问题讨论】:
如果您能向我们展示ExecutionEngineException
的Message
和StackTrace
字段,将会有所帮助。 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 进行写入
Solve Error: Unhandled exception at 0x00905a4d in xxx.exe: 0xC0000005: Access violation.