2011-11-25 82 views
1

我正在使用Xcode的调试器。当停在断点处时,是否有一个命令可以输入GDB命令提示符来创建局部变量?如果是这样,怎么样?请举一个例子。GDB:创建局部变量?

我知道我可以在代码中完成它,然后重新编译程序,但我正在寻找更快的方法。

+0

会是什么意思? – Neil

+0

混乱,就像您可以使用交互式Ruby Shell(IRB)一样。 – ma11hew28

+0

对不起,你的问题不太清楚。我只在看到尼尔的回复后才注意到。从你提到的你意识到重新编译你的代码来引入一个“局部变量”的选择我假设你的意思是一个堆栈变量。你或者Neil是否认为你的意思是一个GDB便利变量? – 0xC0000022L

回答

1

由于本地变量需要堆栈空间,并且(编译的)代码绑定到堆栈布局,因此您不能。

将此与脚本语言进行比较并不合适。

1

print命令打印的值保存在GDB“值历史记录”中。这允许您在其他表达式中引用它们。

例如,假设您刚刚打印了一个指向结构的指针并希望查看结构的内容。它只需输入

p *$ 
+0

嗯,我很困惑。事后看来,他的问题不太清楚。他是指一个本地堆栈变量(我的假设)还是一个GDB便利变量(您的假设)。要添加评论的问题。 – 0xC0000022L