OC底层原理探究-源码分析的方式

435 阅读1分钟

对与iOS的底层原理探索一般有三个手段可以实现真机调试

  1. 符号断点直接跟流程分析
  2. 通过按住control+step into
  3. 汇编流程分析

下面详细介绍如何使用三种方法查找方法函数所在的源码位置,已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的版本