调试器弹出消息“获取数据提示文本”

问题描述 投票:0回答:8

当我在 Visual Studio 2017 中遇到断点时尝试检查变量时,此调试器消息随机弹出。

此后不久,会出现一个更大的消息框,显示以下内容:“评估函数‘System.Reflection.Assembly.LoadForm’超时。”

启用选项Tools/Options/Debugging/General/Only managed code后,第二个消息框消失了。但第一条消息仍在显示。

问题是第一个弹窗出现的时间比较长,调试过程很不爽。我还可以设置哪些 Visual Studio 调试器选项来禁用此弹出窗口?

visual-studio-2017 visual-studio-debugging
8个回答
5
投票

(1)Tools->Options,取消勾选Debugging / General / Enable property evaluation and other implicit function call,并启用Use Managed Compatibility Mode。

(2)删除你项目中的所有.suo/obj/Bin/.user文件,然后重新打开你的项目,清理并构建你的解决方案,再次调试。


2
投票

这个解决方案对我来说很好用:

在选项 -> 编辑器 -> JavaScript -> 语言服务中取消选中新语言 JavasScript 语言服务。

Option capture


2
投票

我遇到了同样的问题,但似乎没有解决方案。这非常令人沮丧,因为当“获取数据提示文本...”弹出并最终消失时,我的断点不再起作用。

这里列出的解决方案没有解决问题,我已经尝试了所有...甚至擦除并重新安装 OS 和 VS 2015.

没有能力进行属性评估和其他隐式函数调用的调试基本上不是调试并且违背了目的。

微软似乎意识到了这个问题,但一直以“无法复制”为由关闭票证……然而,一个简单的谷歌搜索将显示成千上万的开发人员遇到这个问题。我一直在与微软开票,但他们只是不断关闭或合并,没有解决方案。

干杯,Rob.


2
投票

唯一对我有用的解决方案:

  1. CMD 窗口(以管理员身份运行)
  2. 键入 SFC /SCANNOW 并等待它完成并希望修复任何错误
  3. 重启
  4. 在不加载任何项目的情况下启动 VS 2015 或 2017
  5. 在 VS 中选择工具 |导入和导出设置 |重置所有设置...现在选择您使用的模板(即 VB、C、Web)
  6. 退出VS
  7. 加载VS项目并调试

干杯,Rob.


2
投票

旧帖子,但也许无论如何它都会对某人有所帮助;)

在我的例子中,每次我在调试时检查第一个变量时都会得到这个。 由于工作的性质,经常重启调试器,这让我很烦人。

这是因为我的 Visual Studio 2017 文件保存位置是一个云驱动器,它实际上必须在显示数据之前同步文件。

解决方案是将整个文件夹标记为“始终保留在此设备上”。

干杯,


1
投票

这是一种可能的解决方案:

我从未见过这个错误 - 然后我的显卡 (Nvidia) 不见了,我卸下了显卡并使用集成英特尔。然后我在 3-4 步之后得到了这个错误。我再次安装了 Nvidia,现在再也没有显示“获取数据”文本消息。

顺便说一句:这是错误的修复

“64 位调试操作花费的时间比预期的要长”


1
投票

当我想在我的单元测试中调试时评估变量并且找不到任何解决方案时,我遇到了同样的问题。

这是帮助我的解决方案:工具 -> 选项/调试/常规。取消选中“在变量窗口中的对象上调用字符串转换函数”。

这可能只适用于某些人。


0
投票

我遇到了同样的问题。每次我在调试时检查第一个变量时,我也会得到这个。

就我而言,它发生在我在 C# 嵌套函数中遇到断点时。

static void doSomething(Input input)
{
    static void doSomethingImpl(Input input)
    {
        // breakpoint here
    }
    doSomethingImpl(input);
}

doSomethingImpl
移到
doSomething
之外解决了这个问题。

注意:它是一个 Unity Mono 构建。

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