调试期间未显示变量值 vs 2019 16.2.4

cwm*_*rtz 5 visual-studio-debugging

在为局部变量赋值后,我设置了一个断点。变量的名称保持灰色,当我将鼠标悬停在它上面时我看不到它的值。这是有效的发现,但突然停止了。

如下面的代码所示,我设置了两个断点,一个是将两个局部变量相加的地方,另一个是在实例化表单时。调试器不会在第一个断点处停止,而是在第二个断点处停止。当我将鼠标悬停在任何局部变量上时,我无法识别该变量及其值。

int testVariable = 1;
int test2 = 3;
int test3 = 0;
test3 = testVariable+test2; //this is where the breakpoint is - note test3 is grayed out
MainForm main = new MainForm(); // this where the second breakpoint is which does work
main.Show();
Run Code Online (Sandbox Code Playgroud)

小智 26

我遇到的问题是在发布模式下执行应用程序,将其更改为调试模式解决了该问题。

  • @Ramzi Hammouda,你是对的。这是一个非常愚蠢的错误,即使是我们最优秀的人也可能会犯。谢谢 (2认同)

Jes*_*aya 10

我将 VS2019 更新到 16.11.21 后发生了这种情况。尝试重置所有设置,暂停 resharper,选中“使用托管兼容性模式”。没有一个起作用。

对我有用的方法是删除项目文件夹中隐藏的 .vs 文件夹

删除后,重新打开项目,DataTip 恢复正常。


Lan*_*SFT 7

这是有效的发现,但突然停止了。

您最近是否对您的项目进行了任何更改?您的代码没有什么特别之处,我认为这是您的设置或扩展的问题。您可以尝试以下步骤来解决此问题:

  1. 您可以尝试重新启动VS并重建项目。

  2. 如果它仍然存在,请重置所有与调试相关的选项(工具 -> 导入和导出设置 -> 重置所有设置 -> 不,只需重置...)。

  3. 如果不起作用,请转到Tools -> Options -> Debugging -> General以检查“Use legacy C# and VB expression evaluators”“Use Managed Compatibility Mode”

此外,根据本文档,请避免调试优化的代码,您可以启用“模块加载时抑制 JIT 优化(仅限托管)”选项以检查是否有帮助。