微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – lldb断点在类目标c中的所有方法

如何使用lldb在Objective C类中的所有方法自动设置断点?

这对于学习复杂的遗留类的行为很有用.我正在使用Xcode(包括lldb)进行iOS开发,手动通过Xcode中的(大)文件并单击每个方法旁边的沟槽设置断点是很麻烦的.

解决方法

一个选项是使用正则表达式断点.
breakpoint set -r '\[ClassName .*\]$'

您可以使用正则表达式来适应您的需要.

该命令将创建一个断点,停止该类实现的所有方法.但是,在从超类继承的方法上不会有断点.

获取超类的方法,您必须使用条件断点.例如,如果超类是UIViewController,您可以执行以下操作:

br s -r '\[UIViewController .*\]$' -c '(BOOL)[(id)$arg1 isKindOfClass:[CustomVC class]]'

对于x86 change(id)$arg1 to *(id *)($ebp 8).

最后,如果您真的想了解各种类的控制流程,请查看dtrace.这可能比调试器更适合.

原文地址:https://www.jb51.cc/iOS/330061.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐