使用Microsoft Visual C ++ 2010 Express进行调试(免费版)

时间:2011-05-23 11:07:54

标签: debugging visual-c++-2010

我有使用MS-Visual C ++ 2010(免费版)调试的C代码。在代码中,一些变量被声明并在本地范围代码块中使用,该代码块由括号
定义 {... }

但是,虽然调试调试器没有显示监视窗口中的值,但是对于在此代码块内声明的所有变量,即使代码执行点位于代码块内部也是如此。它说“错误:找不到符号”。调试此代码时,这对我来说是一个很大的障碍。

当我将一个特定的此类变量的声明移动到函数的开头时,通过从{}代码块中删除,调试器能够正确显示其值。

  1. 这种离奇行为的原因是什么?它是免费版本吗?

  2. 在不进行代码更改,使用某些项目设置等的情况下,如何在调试器监视窗口中查看此类本地代码块范围变量的值?

1 个答案:

答案 0 :(得分:2)

在此回复是因为我没有在任何地方看到此问题。

转到项目属性页面,查看C / C ++部分中的Optimization属性。如果启用了优化,您的一些变量将被优化掉。 当发生这种情况时 - 它很常见 - 没有要检查的变量,因此您会收到错误消息“找不到符号”,并且它不会显示在您的本地或自动窗口中。将Optimization属性更改为Disabled,rebuild,并查看问题是否已解决。它可能会。

如果优化对您的项目很重要,我会关闭它进行开发,但会将其重新设置为您希望定期测试的内容。有时打开优化会破坏某些东西,如果发生这种情况,你想知道你最近改变了什么,因为否则很难找到问题。