OC底层原理探究-源码分析的方式
2020-10-02 本文已影响0人
85ca4232089b
对与iOS的底层原理探索一般有三个手段可以实现真机调试
-
符号断点直接跟流程分析 - 通过
按住control+step into -
汇编流程分析
下面详细介绍如何使用三种方法查找方法函数所在的源码位置,已alloc为例
1、符号断点直接跟流程分析
• 通过代码下断点alloc
• 选择断点Symbolic Breakpoint
• 符号断点中输入
alloc
• alloc中的Person处 加一个断点
在走到这部分断点之前,需要关闭上面新增的alloc符号断点,原因是因为alloc的调用有很多,如果开启了就不能准确的定位到Person的alloc方法
image.png
• 运行程序到main的person断点中打开断点,继续运行可与发现
模拟器
真机
2、 通过按住control+step into
• 当程序运行到在mian函数的person中的断点时
contro+in.gif
可以发现
image.png
同样的你也可以下一个
allco的断点处看见
alloc.png
3、 可以通过xcode->Debug WorkFlow->Always Show Disassembly 选中配合断点可以进入汇编
注意(以下是Apple 提供的源码下载地址):
1、Apple 所有开源源码汇总地址,根据相应的版本查找对应的源码,以mac 10.15为例: macOS --> 10.15 --> 选择10.15 --> 搜索 objc
2、Apple 比较直接的源码下载地址,直接搜索想要下载的源码名称即可,例如objc:直接搜索 objc --> objc4/ --> 选择相应的objc的版本