c - gdb: 当前上下文中没有符号 "i"

标签 c debugging gdb

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

相关文章:

C - 如何运行一个线程几秒钟,然后继续运行第二个线程

c++ - 如何知道在C++中抛出异常的原因

Android 类转换异常 : android. view.ViewGroup$LayoutParams 无法转换为 android.widget.RelativeLayout$LayoutParams

c++ - cpp gdb 在没有核心和 gdb 附加到工作进程的情况下崩溃

c - C 是否有 boolean 值(True/False)

c - 爱特梅尔 SAM4S8B : Unable to enter Programming mode

c - 套接字 : showing ip and hostname of the client

c - GTK2 回调数据丢失(设置为 0/垃圾)

c - 用于网络编程的 gdb 宏

c - pthread_sigmask 干扰 GDB