【问题标题】:lldb Xcode, difference between "p" and "e"lldb Xcode,“p”和“e”之间的区别
【发布时间】:2021-02-28 22:30:58
【问题描述】:

我已经看到关于 ppo 的解释。但似乎无法注意到pe 之间的区别(如果我是正确的,它是expression 的缩写)。 他们甚至在 lldb 中有相同的帮助信息:

计算当前线程上的表达式。以 LLDB 的默认格式显示任何返回值。

据我所知,唯一的区别是 e = expression, p = expression --

是的,有什么区别?什么时候使用一个比另一个更好? 谢谢!

【问题讨论】:

    标签: xcode lldb


    【解决方案1】:

    基本的lldb命令是expr或简称e

    expr 命令采用控制结果格式和表达式运行方式的选项(例如,表达式在运行时是否忽略断点)。然后它需要表达式运行。

    需要某种方法来消除选项中的表达式歧义。例如,如果表达式预先递减 format 变量 (--format),则该字符串同样可以指定 --format 选项。 lldb 遵循 Unix 命令行解决方案,其中-- 表示:选项的结尾,以及真正参数的开头。所以如果你做前者,你会说:

    (lldb) expr -- --format
    

    这就是p 存在的原因。由于它是expr -- 的别名,因此变为:

    (lldb) p --format
    

    p 是在您知道不需要提供任何选项时运行expr 的便捷方式。无论您键入什么,都将是您正在运行的表达式。如果你想提供选项,你只需要使用expr

    这里有更多关于lldb命令行的一般操作:

    https://lldb.llvm.org/use/tutorial.html#id1

    【讨论】:

    • 哦,好的,我现在明白了。非常感谢!
    猜你喜欢
    • 2017-03-28
    • 2011-03-11
    • 2015-05-02
    • 1970-01-01
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多