在gdb中调试C程序时,我在for循环中有一个断点。我无法打印“我”的值(我在当前上下文中得到:无符号“i”)。我可以打印所有其他变量的值。这是正常的吗?gdb:当前上下文中没有符号“i”
这里是循环:
for (i=0; i < datasize; i++){
if (feature_mask[i] > 0){
k = feature_mask[i] - 1;
if (neighbors[k][nmax-1] != 0){
neighbors[k][nmax-1] = bvalue;
feature_mask[i] = -feature_mask[i];
}
}
}
感谢
这是愚蠢的。不要总结优化 - 总是编译时没有进行调试优化(除非在极少情况下,一个bug只会以优化表现 - 但这是另一回事)。 – 2010-09-21 09:54:10
我同意丹尼尔。 +1对他的评论 – pmg 2010-09-21 10:11:15