如何在lldb中重铸和打印变量

时间:2018-11-26 15:41:51

标签: lldb macos-high-sierra

我有一个指向字符串的指针

void *s = "now is the time for all"

,我希望将其打印为32位大小的整数:

gdb) p /x *((int *)s)

lldb的等价含义是什么?

1 个答案:

答案 0 :(得分:1)

确切地说,除了您不能在p/x之间放置空格。

lldb的命令语法与lldb的命令语法不同(有关更多详细信息,请参见:

http://lldb.llvm.org/tutorial.html

),但增加了p(作为lldb expr命令的别名),以供更熟悉gdb命令的人员使用。但是,要使/x部分通过lldb的命令解析器工作,必须将其直接附加到实际的命令名称之后,以免与参数和选项混淆。所以:

(lldb) p/x *((int *) text_to_use)
(int) $1 = 0x8f06c8c0

这里还有lldb的备忘单<-> gdb命令:

http://lldb.llvm.org/lldb-gdb.html

您可能会觉得方便。