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

2020-10-02  本文已影响0人  85ca4232089b

对与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的版本

上一篇 下一篇

猜你喜欢

热点阅读