objective-c – 使用lldb在Xcode中单步执行时调试另一个选择器

objective-c – 使用lldb在Xcode中单步执行时调试另一个选择器,第1张

概述我在我的代码中停在(lldb)提示符的断点处.我可以在控制台上发送消息对象并打印它们的值. (lldb) p [self computePI](float) $1 = 3.0 哇!这一点出了点问题.我希望能够进入computePI作为确定哪些变量搞砸的捷径.但是,如果我在该选择器上放置一个断点并再试一次,我得到: (lldb) p [self computePI]error: Executio 我在我的代码中停在(lldb)提示符的断点处.我可以在控制台上发送消息对象并打印它们的值.

(lldb) p [self computePI](float)  = 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).

解决方法 p命令实际上是expr的别名 – . expr的一个选项是-u或–unwind-on-error–在这种情况下,断点被视为“错误”(可能被认为是一个错误本身 – 它有争议,有用例在这种情况下表现不同的非直觉性.)

无论如何,你应该能够做到

(lldb) expr -u false -- [self computePI]

它将在断点处停止. – 这里表示expr它应该停止进行选项解析,之后的所有内容都是要评估的表达式.

总结

以上是内存溢出为你收集整理的objective-c – 使用lldb在Xcode中单步执行时调试另一个选择器全部内容,希望文章能够帮你解决objective-c – 使用lldb在Xcode中单步执行时调试另一个选择器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1019171.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存