问题/目标分析
【NSObject alloc】分析中initisa流程分析.
方法分析
通过对OBJC的源码,对alloc 方法,进行逐步断点跟踪解析。
配置好的源码
如果想调试最新版本,可以自己配置项目:
官方源码下载地址:opensource.apple.com macOS-> objc4 -> 右边箭头 下载最新版本
源码配置方法:配置方法 (注意,文章最后target的设置需要添加一步,不然断点不能跟进,设置如下:)

实验步骤
进入断点initisa()


结果分析
initisa结构图。


总结实验
isa 为一个union结构union,存储的是类别的metaclass信息,以及一些其他类别上的信息,如:内存计数,引用的状态,metaclass指针。其中读取metaclass指针需要使用isamask。
下一步:对比isa/superisa_super 对比实验