Xcode 调试时打印变量值

p & po

最简单的方式是使用 ppo 命令,大部分情况下两者等效,后者将等打印的值以对象来对待。

以下示例展示了两者的区别:

(lldb) p 0
  (int) $26 = 0
(lldb) po 0
  <nil>

使用 po 打印表达式查看其值的示例:

使用  打印调试对象

使用 `po` 打印调试对象

e or expr or expression

exprexpression 是对表达式求值更加一般化的命令,前面提到的

  • 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>
...

相关资源