作用
打印OC内部调用了哪些方法
用法
- 声明外部函数
extern void instrumentObjcMessageSends(BOOL);
- 设置起点和终点
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person *p = [Person new];
instrumentObjcMessageSends(YES);
[p run];
instrumentObjcMessageSends(NO);
}
return 0;
}
- 查看打印日志
到/private/tmp/文件夹下,会发现msgSends-xxxx文件,打开查看
image.png
因为在Person类中我没有写run方法的具体实现,所以可以在日志中看到OC的动态决议和消息转发流程








网友评论