KeyVaultClient随机将fatalexecutionEngineError投入到调试上



当我调试ASP.NET MVC应用程序时,KeyVaultClient随机抛出随机异常:

托管调试助手" fatalexecution engineError":'运行时遇到了致命的错误。该错误的地址位于线程0x6098上的0x59EAB403。错误代码为0xC0000005。此错误可能是CLR中的错误,也可能是用户代码的不安全或不可验证的部分中的错误。此错误的常见来源包括com-Interop或pinvoke的用户编制错误,这可能会破坏堆栈。'

我使用:

  • Nuget Microsoft.Azure.KeyVault 3.0.3
  • Visual Studio 2019 Professional 16.1.4
  • Microsoft.AspNet.WebApi 5.2.3
  • 没有管理兼容模式

我熟悉这个问题,没有任何帮助。


编辑

启用托管兼容模式我会稍有不同的错误:

托管调试助手" fatalexecutionEngineError"在" c: program文件(x86( iis express iisexpress.exe"中检测到了一个问题。 其他信息:运行时遇到了致命的错误。该错误的地址位于线程0x54a8上的0x6C0DB403。错误代码为0xC0000005。此错误可能是CLR中的错误,也可能是用户代码的不安全或不可验证的部分中的错误。此错误的常见来源包括Com-Interop或PinVoke的用户编制错误,这可能会破坏堆栈。 发生

来自https://devblogs.microsoft.com/devops/switching-to-manate-compatibility-compatibility-mode-mode-in-visual-studio-2013/

与较旧的实施相比,新的托管调试引擎,使我们能够更快地添加新功能。仅一年后,Visual Studio 2013中引入的功能数量,包括托管返回值,.NET 64位编辑并继续,异步Callstacks增强功能以及改进的任务窗口以命名几个。不幸的是,新的调试引擎仍然有几个方案,因此在这些情况下,您将不得不切换回旧引擎。


您遇到的错误是因为新调试引擎不支持的问题。

请尝试以下设置,看看您是否仍然遇到相同的错误。

  • 要切换到全球的传统调试引擎,选择工具/选项

  • 然后在调试/常规选项卡上检查使用托管兼容模式。

全球选项将迫使传统引擎用于任何发布或附加。

希望它有帮助。

最新更新