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

问题描述 投票:9回答:5

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

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

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

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

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

先感谢您! :)

visual-studio clr
5个回答
2
投票

它很可能不是CLR错误,但可能是Heisenbug。但是,如果没有看到你的代码,我们无法真正说出导致它的原因。

尝试打开Managed Debugging Assistants以确定是否正在抑制某些错误或访问冲突。


3
投票

我遇到了一个关于Dotnet Core项目的工作。我删除了二进制文件并重建,这为我修复了它。简单地做一个清洁和构建或只是重建没有任何影响。


1
投票

这个问题让我很烦恼,我没有找到原因,但我找到了解决办法,所以我至少可以继续做我的工作。

对我来说,当我使用F10和F11调试时会出现问题,我很兴奋该方法并且该方法返回到功能文件。因此,作为一种解决方法,我已经为方法的所有条目添加了断点,当我到达下一个方法的出口时,我使用F5进行下一个操作,这样做就不会崩溃。

只有当我从使用F10或F11的方法返回* .feature文件时,才会出现此问题。

我希望它有所帮助,至少作为一种解决方法,但我真的很想知道它的实际原因。


0
投票

我最近有同样的错误。我注意到我有两个完全相同的项目(两者都相同)。一个是有这个问题。所以我在Project Property中注意到了 - >在Compile Menu下 - >在顶部,Configuration被设置为Release。我将其更改回Active(调试)并重新编译。现在它工作正常。 click to see Image


0
投票

好吧,我将告诉你我的悲伤故事,以便其他人不会再被困在同样的错误中,如果我在无限循环线程内连续调用本机C ++ API并忘记停止线程,这种情况发生在我身上在需要时,有时你提到的这个错误是爆炸或读/写保护的内存异常,更糟糕的是有时整个应用程序只是崩溃:)

这就是所有人。

© www.soinside.com 2019 - 2024. All rights reserved.