我的代码停在(lldb)提示符的断点处。我可以在控制台上发送消息对象并获取其值。
(lldb) p [self computePI]
(float) $1 = 3.0
哇!这一点出了点问题。我希望能够进入computePI作为确定哪些变量搞砸的捷径。但是,如果我在该选择器上放置一个断点并再试一次,我会得到:
(lldb) p [self computePI]
error: Execution was interrupted, reason: breakpoint 5.1.
The process has been returned to the state before execution.
如果我能够以某种方式进入computePI,那将是一个真正的节省时间。这可能吗?我一直在看http://lldb.llvm.org但没有看到任何东西。谢谢你的帮助。
更新:根据Jason Molenda的回答,我使用以下方便的别名更新了我的〜/ .lldbinit文件:
command alias nup expr -u 0 --
command alias nupo expr -u 0 -o --
这让我用nup(代替p)和nupo(代替po)。
答案 0 :(得分:6)
p
命令实际上是expr --
的别名。 expr
的一个选项是-u
或--unwind-on-error
- 在这种情况下,断点被视为“错误”(可能被认为是一个错误本身 - 它有争议,有些用例会因此行为不同而非直观。)
无论如何,你应该可以做到
(lldb) expr -u false -- [self computePI]
它将在断点处停止。这里的--
向expr
表明它应该停止进行选项解析,之后的所有内容都是要评估的表达式。