在为局部变量赋值之后,我设置了一个断点。 变量名称仍显示为灰色,将鼠标悬停在该变量上时看不到它的值。这是工作的发现,但突然停止了。
如下面的代码所示,我设置了两个断点。一种是将两个局部变量加在一起,另一种是在实例化表单时添加。调试器不会在第一个断点处停止,但会在第二个断点处停止。当我将鼠标悬停在任何局部变量上时,都无法识别该变量或其值。
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();
答案 0 :(得分:0)
这是可以找到的东西,但是突然停止了。
您最近对项目进行了任何更改吗?您的代码没什么特别的,我认为这是关于您的设置或扩展的一个问题。您可以尝试以下步骤解决此问题:
1:您可以尝试重新启动VS并重建项目。
2:如果仍然存在,请重置所有与调试有关的选项。 (工具=>导入和导出设置=>重置所有设置=>否,只需重置...)
3:如果不起作用,请转到Tools -> Options -> Debugging -> General
来检查“使用旧版C#和VB表达式求值器”和“使用托管兼容模式”。
此外,根据this document,请避免调试优化的代码,您可以启用Suppress JIT optimizations on module load (Managed only)
选项来检查是否有帮助。
答案 1 :(得分:0)
我在发布模式下执行应用程序时遇到的问题,将其更改为“调试”即可解决该问题。