visual studio 2010在调试期间显示const int 0

时间:2016-05-03 14:42:56

标签: c++ visual-studio debugging variables const

我将const int infoLTotal定义为全局变量,如下所示:

const int MAX_NUM_GINSU_PER_CYCLE = 32; 
const int nViewPerGinsu = 256;

const int infoLTotal = MAX_NUM_GINSU_PER_CYCLE*nViewPerGinsu;

如果我将鼠标移动到infoLTotal的变量上,则8192显示完全正常。但是,当我开始调试模式时,我看到它显示0?例如,在以下行

if (intX + intY < infoLTotal)  // infoLTotal shows 0 here, on mouse

但是当我将其值赋予另一个变量时,比如a,a确实是8192,如下所示:

int a = infoLTotal; // a shows 8192 here, but infoLTotal still shows 0, on mouse

所以看起来vs2010在调试模式下没有显示const int的真正含义?还是真的0?我很困惑。

2 个答案:

答案 0 :(得分:0)

我在VS 2010 10.0.30319.1中的代码测试显示鼠标悬停时的8192。

要调试您的问题,您可能首先创建一个只包含main函数的简单解决方案。然后复制并粘贴代码并测试IDE是否存在错误。如果上面的测试通过,你必须注释掉你的一些代码,直到它显示8192.最后,重新检查注释代码并找到问题。

我的猜测是某个版本的VS错误。

PS:您说您正在使用调试模式。您仍然需要检查是否在Debug Configuration下构建项目。

答案 1 :(得分:0)

确保在Debug中编译代码,以防止编译器进行任何优化。进行干净重建(如有必要,手动删除所有中间文件和目标文件,包括ipch和pdb文件),并删除解决方案根目录下的sdf文件。 VS 2010调试器有时会搞砸。