当前上下文中没有符号"颜色".GDB

Dog*_*Dog 5 gdb watch

我正在尝试使用gdb调试代码,但是当我尝试观察我的变量颜色时,它会说出来

No symbol "color" in current context.
Run Code Online (Sandbox Code Playgroud)

变量是一个int,显然在范围内.代码如下

int color=0;

if(color==0)
  color=1;
Run Code Online (Sandbox Code Playgroud)

我的调试器传递了变量的声明.

我只是在if(颜色== 0)处有一个断点

(gdb) watch color
Run Code Online (Sandbox Code Playgroud)

我可能怀疑编译器或其他东西,这可能吗?

编辑:在使用GDB的构造函数中调试时存在一些问题

wjt*_*wjt 3

您需要确保-g在编译代码时将标志传递给 gcc。您还应该传递-O0以确保编译器不会优化您的变量。