在 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/