运行时致命错误 - 可能是CLR错误

dev*_*per 10 clr visual-studio

我想了解一下我收到的错误:

托管调试助手'FatalExecutionEngineError'检测到'C:\ app.exe'中存在问题.附加信息:运行时遇到致命错误...此错误可能是CLR中的错误或用户代码的不安全或不可验证部分.此错误的常见来源包括COM-interop或PInvoke的用户封送错误,这可能会破坏堆栈."

我不仅要了解错误本身,还要了解CLR可能发挥作用的方式/方式,而且我从未真正听说过COM-intercop或PInvoke ......所以对这些内容的一些见解也会有所帮助.

此外,真正奇怪的部分是,如果我继续通过断点并且不进入或超过,我没有看到错误.但是,如果我逐行执行,则会弹出错误!任何人都可以解释为什么我只是在走过时看到它?

不确定其他哪些信息会有用..请告诉我(当然很好!)我可以添加的内容.

先感谢您!:)

小智 5

我在 Dotnet Core 项目中遇到了这个问题。我删除了二进制文件并重建,这为我修复了它。简单地执行 Clean and Build 或只是 Rebuild 没有效果。


Meh*_*dad 3

它很可能不是 CLR bug,但可能是Heisenbug。但是,在没有看到您的代码的情况下,我们无法真正说出是什么原因造成的。

尝试打开托管调试助手来确定是否正在抑制某些错误或访问冲突。