【问题标题】:Visual Studio 2013 stopped showing variable values when debuggingVisual Studio 2013 在调试时停止显示变量值
【发布时间】:2014-03-08 21:44:01
【问题描述】:

在我最近启动的一个特定项目中,调试器开始表现得很有趣。当我在调试并且它在断点处暂停时,数据提示不显示,一些变量值不显示在 Locals 和 Autos 窗口中,并且在 Locals 窗口中有一些奇怪命名的变量(以“CS”开头的那些。其他的是我的变量):

我一生都无法弄清楚这个项目与我的其他项目有什么不同。我在 Windows 8.1 中运行 Visual Studio 2013。该项目是一个 Windows Phone 8 项目,唯一添加的引用是 Fody、PropertyChanged.Fody、HttpClient et alius 和 JSON.net。

任何帮助将不胜感激。

【问题讨论】:

  • 发生在我身上几次,重新启动VS总是有帮助
  • @IgorKulman 这就是其他人告诉我要尝试的方法,但在我的情况下并没有奏效。 :(
  • fody 导致了这个问题,但我没有找到解决方案。当我想调试我的代码时,我必须卸载 fody。然后就可以了。
  • @MichaelMatejko 正是这个!!

标签: c# visual-studio windows-phone-8 visual-studio-2013


【解决方案1】:

我在这里遇到了同样的问题(也使用 Windows 8.1 和 VS 2013)

要修复它,您需要在 VS Tools | 中打开选项 |调试器 |通用并启用标记[使用托管兼容模式],它实质上为您提供了 VS 2012 函数评估行为。

参考: http://weblog.west-wind.com/posts/2013/Nov/21/Visual-Studio-2013-Could-not-evaluate-Expression-Debugger-Abnormality

【讨论】:

  • 不知道为什么它被否决了。我在 Windows 7 上使用 VS2013 update 4 时遇到了同样的问题。(这个答案帮助我重新开始工作,除了骂 Visual Studio)
  • 这解决了我在 Windows 10 上的 VS2015 Update 2 上的问题。干杯
  • 在 Windows 10 上的 VS2015 Update 2 上对我也很有效!不知道为什么它停止工作除了 Windows 10 昨天为我做了更新。
  • 这也为我在 Windows 7 上的 VS2015 Update 1 中修复了它。
  • 在 VS 2019 CE 上表现出色。提问者应该接受这个作为答案。
【解决方案2】:

[Build] => [Clean solution] 已为我解决了这个问题,当时没有其他任何工作,包括清空符号缓存。

【讨论】:

  • 这里也一样。在没有运气的情况下尝试了其他所有方法,一个简单的 Clean and Rebuild 就成功了。
  • 重建不也干净吗?我认为这是干净+构建
  • 我同意。根据msdnRebuild = Clean + Build,但我见过很多次Rebuild 没有解决问题,但Clean + Build 确实解决了它。所以我怀疑文档是错误的,或者 VS 的行为不符合设计。
【解决方案3】:

尝试 TOOLS->OPTIONS->DEBUGGING->SYMBOLS 并点击 Empty Symbol Cache 按钮。

【讨论】:

    【解决方案4】:

    这对我有用(WIN 10 上的 VS 15): 调试 --> 选项 --> 在 General 选项卡上选中 Use legacy C# and VB expression evaluators。

    【讨论】:

    • 此选项在 Visual Studio Professional 2017 中似乎不可用。
    • 我不确定专业版,但我在VS 2017 Enterprise上有它。
    【解决方案5】:

    我尝试了所有建议,但没有一个对我有用。以下解决了我的问题-您可以尝试重置 VS 设置。工具-> 导入和导出设置-> 重置所有设置,然后按下一步。

    【讨论】:

      【解决方案6】:

      如果您指的是“本地人”,您可以通过进入 Debugging -> Windows 重新打开它(在调试时)

      它只能在调试会话期间访问。

      【讨论】:

      • OP 不是指 Locals 调试器窗口本身,而是指它不显示某些局部变量的事实。
      【解决方案7】:

      我在调试 Visual Studio 2017(社区)时遇到了一些奇怪的问题,这就是我到达这个线程的方式。我发布我的发现以防它帮助某人。任何已经发布的答案都对我没有帮助。

      问题是当我在调试会话期间将鼠标悬停在变量上时,我可以在工具提示中看到它的值,但它仅适用于原始数据类型,例如int、char、string 等。如果目标变量是对象或数组,我将看不到任何扩展对象以查看其属性值、内部成员和类似内容的方法,如下面的屏幕截图所示变量 @987654325 @这是一个数组:

      所以为了克服非原始数据类型变量(对象和数组)的这个问题,每次我都会选择变量并按Ctrl + F9打开快速查看窗口并查看那里的对象成员,但逐渐变得烦人且耗时。

      在错误地尝试此线程中存在的各种解决方案时,我单击了工具提示窗口中变量名称旁边的空白区域,哇哦,它就在那里 :)

      一般来说,在工具提示窗口左侧的空白区域,有一个加号 (+),我们单击它可以展开对象详细信息,但它只是加号 (+)标志是看不见的。我根据此线程中提到的建议恢复了我应用的所有选项,它仍然有效。

      所以我得出结论,这只是 一个奇怪的无形加号案例。现在我有一个正常的调试生活:P

      问题的根本原因可能是 Visual Studio 2017 社区(版本 15.3.0)或我的主机操作系统 (OS) 的 Windows 7。就显示驱动程序而言,情况并非如此,因为我在一年多前就制造了这台笔记本电脑,而且它对所有其他应用程序都很好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-12-11
        • 1970-01-01
        • 2015-02-18
        • 1970-01-01
        • 2015-10-09
        • 2012-04-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多