Debugging 托管调试助手&x27;FATAlexecutionEngineer&x27;

Debugging 托管调试助手&x27;FATAlexecutionEngineer&x27;,debugging,Debugging,我得到以下错误: 托管调试助手“FatalExecutionEngineError”在“C:\Users\App\App.exe”中检测到问题。 其他信息:运行时遇到致命错误。错误地址位于线程0x72bc上的0xf5b029e1。错误代码为0xc0000005。此错误可能是CLR或用户代码的不安全或不可验证部分中的错误。此错误的常见来源包括COM互操作或PInvoke的用户封送错误,这可能会损坏堆栈 我在调试时执行此语句时出现上述错误 LoggerHandler.Info("Executed

我得到以下错误:

托管调试助手“FatalExecutionEngineError”在“C:\Users\App\App.exe”中检测到问题。 其他信息:运行时遇到致命错误。错误地址位于线程0x72bc上的0xf5b029e1。错误代码为0xc0000005。此错误可能是CLR或用户代码的不安全或不可验证部分中的错误。此错误的常见来源包括COM互操作或PInvoke的用户封送错误,这可能会损坏堆栈

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

 LoggerHandler.Info("Executed " & iterations.ToString & " iterations on " & max_processors & " cores in " & Format((Now() - time).TotalSeconds, "0.0") & " seconds.")
更改为使用“托管兼容性模式”修复了Visual Studio 2015中的错误:

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


这将更详细地描述此设置的作用。

这解决了我的问题:

工具->选项->->常规


并选中“仅限事件”选项

我看到类似的错误,而此选项不起作用,您能帮我看看这里:我有相同的错误,当我启用“使用托管兼容模式”时,当我再次运行程序时,它会显示以下错误:“运行时遇到致命错误。错误地址位于线程0xeb8上的0x722f5a90。错误代码为0xc0000005。此错误可能是CLR或用户代码的不安全或不可验证部分中的错误。此错误的常见来源包括COM互操作或PInvoke的用户封送错误,这可能会损坏堆栈。“注意:我正在使用[DllImport”(“swedll32.dll”,EntryPoint=“\u-swe_julday@24“”)。不确定,但swedll32.dll是非托管的c/c++dll。现在,在VS 2019中,
catch(ex)when(condition)上的条件出现此错误
的计算结果为
NullReferenceException
。发生这种情况时,您的应用程序会崩溃;visual studio会抛出致命的执行引擎错误此选项在vs2017中的哪个位置?当您在DllImport中使用StringBuilder时