【发布时间】:2019-05-08 14:20:02
【问题描述】:
几周(几个月?)以来,在 Visual Studio 2017 / 2019 Enterprise 中重新启动我的 ASP.NET 应用程序后,我有时会遇到以下异常。仅当 IIS Express 已经在运行我的应用程序并且我需要在重新编译后启动新的调试会话时才会发生这种情况。
无论何时发生这种情况,我都必须终止 IIS Express (taskkill /f /im iisexpress.exe) 并在 VS 中启动一个新的调试会话。我无法弄清楚是什么触发了这个问题。有一天它开始在 VS 2017 Enterprise 上发生。也许是因为我收到了一些 Win10 更新?升级到 VS 2019 Enterprise 并没有解决问题。
托管调试助手“FatalExecutionEngineError”
Message=Managed Debugging Assistant 'FatalExecutionEngineError' : '运行时遇到致命错误。错误地址位于线程 0x16b8 上的 0x45b30496。错误代码为 0xc0000005。此错误可能是 CLR 中的错误或用户代码的不安全或不可验证部分中的错误。此错误的常见来源包括 COM 互操作或 PInvoke 的用户封送错误,这可能会损坏堆栈。'
报告了一些类似的问题,但要么不能解决我的问题,要么不适用:
-
Managed Debugging Assistant 'FatalExecutionEngineError'
- 我没有使用使用托管兼容模式。
-
Managed Debugging Assistant 'FatalExecutionEngineError' 0xc0000005
- IISExpress 设置为 x64,因为解决方案是为 x64 构建的。
-
https://developercommunity.visualstudio.com/content/problem/29782/managed-debugging-assistant-fatalexecutionengineer.html
- 解决方案针对 .Net Framework 4.6.1,而不是 .Net core。
- 我们不使用 EntityFramework。
【问题讨论】:
-
反恶意软件是造成 FEEE 的常见原因。当一个可执行文件从看似不存在的地方出现并且接下来开始做 webby 的事情时,会变得格外兴奋。所以暂时禁用它,看看是不是这个原因。
-
机器上没有运行反恶意软件。 Windows Defender 已通过本地 GPO 禁用。
-
恶意软件是 FEEE 的常见原因。所以暂时禁用它,看看是不是这个原因。开玩笑的,请在另一台机器上尝试以找出原因。
-
我不是团队中唯一遇到此问题的人。此 Windows 虚拟机仅用于开发,我很确定上面没有恶意软件。
标签: c# visual-studio iis-express visual-studio-debugging