xcode - GDB:创建局部变量?

标签 xcode debugging gdb

我正在使用 Xcode 的调试器。在断点处停止时,是否可以在 GDB 命令提示符中键入命令来创建局部变量?如果是这样,如何?请举例说明。

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

最佳答案

如果您不需要在代码中引用该变量而只想进行一些临时调查,您可以使用 Convenience Variables通过使用 set变量名以 $ 开头的命令:

(gdb) set $foo = method_that_makes_something()
(gdb) set $bar = 15
(gdb) p $bar
$4 = 15
您会注意到,当您打印带有数字变量前缀的内容时,您也可以稍后使用它们来引用该值:
(gdb) p $4
$5 = 15
重申:这实际上并不影响程序的堆栈,它不能,因为这会破坏很多东西。但是如果您只需要一个本地操场、一些循环变量等,它就会很有用。
虽然您不能修改堆栈,但您可以 interact with the program's memory space - 您可以调用函数(包括 malloc )并构造对象,但这些都将存在于静态内存中,而不是作为堆栈上的局部变量。

关于xcode - GDB:创建局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8275135/

相关文章:

文本太长时,iOS 10 TextField 密码(安全)卡住

iphone - 我如何在 iPhone sdk 中对 NSMutableArray 进行排序

向后调试

c - 为什么在执行此 c 代码片段期间会转储分段核心

c - 如何调试 printf 等标准 C 库函数?

C++ gdb 打印数组在上下文中给出 No symbol "d"

ios - rvictl 不工作

cocoa-touch - Xcode 4 中是否有键盘快捷键可以最大化/最小化输出窗口?

java - 用Java编写一个简单的打印方法用于调试

python - 如何使用 PyScripter 从 Windows 远程调试在 Linux 上运行的 Python 脚本?