Visual Studio 2017调试错误:为防止评估函数* .toString时允许安全运行的所有线程而导致的不安全中止

Sor*_*scu 14 visual-studio visual-studio-debugging visual-studio-2017

我将Visual Studio 2017更新为版本15.8.2。

在此更新之后,我开始在调试时遇到以下错误:

错误图片1

错误图片2

错误图片3

这是错误消息:

Visual Studio调试错误:为了防止在评估函数* .toString允许运行的所有线程时发生不安全中止。这可能已更改了进程的状态,并且遇到的任何断点都已被跳过。

此错误经常出现,并且一段时间后Visual Studio崩溃。

我尝试再次卸载并安装Visual Studio并重置首选项,但是我没有运气。

当我禁用选项:“启用属性评估和其他隐式函数调用”时,当我尝试通过将鼠标移到某些属性上来评估某些属性时,会遇到相同的错误。没有它,调试起来很困难,在此构建之前我没有任何问题。

问题与C#和Visual Basic(.NET)相同。

这个问题有解决办法吗?我的团队使用Visual Studio 2017版本15.7.4在同一个项目上工作没有问题

gro*_*och 13

我添加了相同的错误消息,但函数名称不同:

为防止在评估函数“ Microsoft.VisualStudio.Debugger.Runtime.Tracing.Refresh”时发生不安全的异常终止,允许所有线程运行。这可能已更改了进程的状态,并且遇到的任何断点都已被跳过。


这就是我摆脱这个讨厌的错误的方法:
在Visual Studio 2017中转到“
工具”?选项?调试?一般 ?
感谢本文,请选中``使用托管兼容模式'' :https :
//www.codeart.dk/blog/2018/9/vs2017-debugger-timeout/

  • 根据Microsoft https://docs.microsoft.com/zh-cn/visualstudio/debugger/error-evaluating-the-function-function-timed-out-and-needed-to-beorted-in-an-unsafe -way?view = vs-2017,选中此选项意味着“切换到旧版调试引擎”。这可能意味着我们正在失去一些新的调试功能。我想知道,我们正在失去什么。 (4认同)
  • 对我来说,启用此功能会导致函数的评估超时。 (2认同)
  • 我不会将此称为答案,因为这是一种解决方法。使用此选项可能会停止正确加载 PDB 文件,从而导致无法进行调试。 (2认同)
  • VS 2019 中没有这样的菜单! (2认同)