如何解决lldb Xcode,“p”和“e”之间的区别
我看过有关 p
与 po
的解释。但似乎无法注意到 p
和 e
之间的区别(如果我是对的,它是 expression
的缩写)。
他们甚至在 lldb 中有相同的帮助信息:
在当前线程上计算表达式。以 LLDB 的默认格式显示任何返回值。
据我所知,唯一的区别是 e = expression
,p = expression --
。
是的,有什么区别?什么时候使用一个比另一个更好? 谢谢!
解决方法
基本的 lldb 命令是 expr
或 e
的简称。
expr
命令采用控制结果格式和表达式运行方式的选项(例如,表达式在运行时是否忽略断点)。然后运行该表达式。
需要某种方式来消除选项中的表达歧义。例如,如果表达式预先递减 format
变量 (--format
),则该字符串同样可以指定 --format
选项。 lldb 遵循 Unix 命令行解决方案,其中 --
表示:选项的结尾和实参的开头。所以如果你在做前者,你会说:
(lldb) expr -- --format
这就是 p
存在的原因。由于它是 expr --
的别名,因此变为:
(lldb) p --format
p
是当您知道不需要提供任何选项时运行 expr
的便捷方式。无论您键入什么,都将是您正在运行的表达式。如果您想提供选项,则只需使用 expr
。
这里有更多关于 lldb 命令行的一般操作:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。