alloc底层探索
2021-06-09 本文已影响0人
黛沁馨1990
首先得说,这是第一次去探索苹果的底层代码,之前的所有oc开发,都只是基于xcode上可见的功能,偶尔看到底层代码,也都觉得头大,一掠而过,作为一个已经IOS行业呆了5、6年的人来说,显然是跟不上节奏的,学习是刻不容缓的。
今天学习到了底层源码的几种查看方法,就是一个简单对象的alloc方法源码位置查看。
方法一、下符号断点方法
1.下一个alloc的符号断点,但先关闭
2.当执行到代码alloc的时候,再打开这个符号断点
3.继续运行,则会看到alloc方法所在源码库
方法二、control+step into
1.在alloc的代码加断点
2.执行到断点后,按住ctrl的同时点击xcode的step into,一直进入到线程里,可以看到执行了objc-alloc方法
3.下objc-alloc的符号断点
4.继续执行后,就可以看到源码位置所在libobjc.A.dylib
方法三、开启汇编查看方法
1.打开汇编
2.在alloc的代码位置进行断点,执行到汇编后,可以看到objc-alloc这个方法执行,这时候复制objc-alloc下一个符号断点
3.继续执行,就可以看到源码位置
tips:
1.汇编打开方式:Debug->Debug WorkFlow -> Always show disasesmbly
2.知道源码所在库后下载源码方法:
进入地址https://opensource.apple.com/tarballs/
搜索对应名称,alloc方法知道属于库文件libobjc.A.dylib,搜索objc可以找到源码,有多个版本,找到最新的去下载查看