p & po
最简单的方式是使用 p 和 po 命令,大部分情况下两者等效,后者将等打印的值以对象来对待。
以下示例展示了两者的区别:
(lldb) p 0
(int) $26 = 0
(lldb) po 0
<nil>
使用 po 打印表达式查看其值的示例:
使用 `po` 打印调试对象
e or expr or expression
expr 或 expression 是对表达式求值更加一般化的命令,前面提到的
p 相当于 expr --
po 相当于 expr -o --
使用示例:
(lldb) expr -- strlen(str1)
(size_t) $7 = 5
也可以输入命令后进入表达式窗口,此时可以输入多行表达式,最后以空行结束以求值。
(lldb) expr
Enter expressions, then terminate with an empty line to evaluate:
1 strlen(str1)
2
(size_t) $8 = 5
(lldb)
expression 命令的完整语法为:
expression <cmd-options> -- <expr>
其中 cmd-options 可控制输出,比如 expression [-o] [-a ] [-d ] [-t ] [-u ] -- <expr> 。
带参示例:
(lldb) expr -o -- strlen(str1)
5
查看完整文档
直接输入 help expression 可查看完整的用法及参数
(lldb) help expression
Evaluate an expression on the current thread. Displays any returned value
with LLDB's default formatting. Expects 'raw' input (see 'help
raw-input'.)
Syntax: expression <cmd-options> -- <expr>
...
相关资源
|