托管调试助手'FatalExecutionEngineError'

abd*_*mad 9 debugging

我收到以下错误:

托管调试助手'FatalExecutionEngineError'在'C:\ Users\App\App.exe'中检测到问题.附加信息:运行时遇到致命错误.错误的地址是0xf5b029e1,位于线程0x72bc上.错误代码是0xc0000005.此错误可能是CLR中的错误,也可能是用户代码的不安全或不可验证部分中的错误.此错误的常见来源包括COM-interop或PInvoke的用户编组错误,这可能会破坏堆栈.

我在调试时执行此语句时出现上述错误.

 LoggerHandler.Info("Executed " & iterations.ToString & " iterations on " & max_processors & " cores in " & Format((Now() - time).TotalSeconds, "0.0") & " seconds.")
Run Code Online (Sandbox Code Playgroud)

Jum*_*zza 8

更改为使用"托管兼容模式"是在Visual Studio 2015中为我修复错误的原因:

"工具"菜单>"选项">"调试">"常规">"使用托管兼容模式"

在此输入图像描述

Microsoft博客更详细地描述了此设置的作用.

  • 我看到类似的错误,这个选项不起作用,你可以帮忙看看:/sf/ask/3094952381/ (2认同)
  • 我有同样的错误,当我启用“使用托管兼容模式”时,它会在我再次运行程序时显示以下错误:“运行时遇到致命错误。错误的地址是 0x722f5a90,在线程 0xeb8 上。错误代码为 0xc0000005。此错误可能是 CLR 中的错​​误,也可能是用户代码的不安全或不可验证部分中的错误。此错误的常见来源包括 COM 互操作或 PInvoke 的用户封送错误,这可能会破坏堆栈。” 注意:我正在使用 [DllImport("swedll32.dll", EntryPoint = "_swe_julday@24")]。不确定,但 swedll32.dll 是非托管的 c/c++ dll。 (2认同)

小智 8

我最近遇到了这个错误,并花了大约 10 个小时来诊断该问题,结果发现最新版本的Cylance产生了干扰。

本质上,Cylance 内存保护阻止了基于 Web 的项目的本地调试(ASP 和 WCF 在我们的范围内)。希望这可以节省其他人一些排除故障的时间。