在gdb中调试C程序时,我在for循环中有一个断点。我无法打印“i”的值(我得到:在当前上下文中没有符号“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];
}
}
}
最佳答案
由于您仅在循环内使用feature_mask[i]
,因此可能已从编译代码中对其进行了优化。
调用编译器时是否指定了优化级别?如果您使用的是gcc,则只需忽略-O
选项,然后重试。
关于c - gdb:在当前上下文中没有符号 “i”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3758614/