在当前上下文中没有符号

在当前上下文中没有符号

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

10-10 18:23