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.这可能比调试器更适合.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...