Eclipse C调试器不显示变量值

我使用
Eclipse进行Java编码没有任何问题.使用C Eclipse(Indigo),我的问题是,当我将鼠标放在它们上面时,我无法看到变量的值!它只显示变量的定义.

在Java中,如果我们右键单击一个变量,那么我们会得到一个像“Inspect value”这样的选项.在C eclipse中也看不到该选项.
如何解决这个问题?我缺少任何插件或配置吗?

在Virtual Box(Windows XP Host)中新安装了Ubuntu 11.10.然后安装了g 4.6,Eclipse Indigo和Eclipse CDT.在“调试配置”中,它显示:

Debugger: gdb/mi
Advanced: Automatically track values of "Variables" and "Registers"
GDB Debugger: gdb
GDB command file: .gdbinit
GDB Command set: Standard(Linux)
Protocol: mi
(unchecked) Verbose console mode
(unchecked) Use full file path to set breakpoints

我能够提供断点并在那里停止执行,唯一的问题是看到值.

最佳答案 最有可能的是,由于优化,这些值在那时不存在.例如,考虑:

int foo(void)
{
    int i=SomeFunctions();
    if(i>3) Foo();
    else
    {
       Bar();
       Baz();
    }
    // breakpoint here
    return 8;
}

编译器可以将我完全保存在寄存器中.到达断点时,该寄存器可能已被重新用于其他目的.调试器可能无法告诉您此时i的值.

作为一般规则,除非程序的执行取决于变量的值,否则不要求可以确定变量的值.

关闭优化可能会有所帮助.

点赞