如何使用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 举报,一经查实,本站将立刻删除。