我使用
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的值.
作为一般规则,除非程序的执行取决于变量的值,否则不要求可以确定变量的值.
关闭优化可能会有所帮助.