美文网首页
01 探索源码的三种方式

01 探索源码的三种方式

作者: lcd357287797 | 来源:发表于2021-01-19 21:41 被阅读0次

本文主要介绍iOS探索源码的三种方式:

  • 符号断点直接跟流程
  • 通过按住control + step into
  • 汇编跟流程

下面详细描述三种探索源码的方式:

1. 符号断点直接跟流程

由于是alloc方法的实现无法看到,故下一个'alloc'的符号断点。

添加符号断点
SLPerson创建的行添加一个断点,同时暂时取消刚刚添加的alloc的断点,运行工程~
断点
此时打开alloc的符号断点,点击Continue program execution过掉断点,可以看到程序断点在了libobjc.A.dylib中的[NSObject alloc]方法,由此可知alloc方法的源码在libobjc.A.dylib库中。
libobjc.A.dylib

2. 通过按住control + step into

SLPerson创建的行添加一个断点,运行工程,当进入断点后按住control键,点击step into按钮~

step into
进入断点后看到以下内容
断点
根据显示再下一个objc_alloc的符号断点后点击Continue program execution按钮过掉当前断点,可以看到进入了libobjc.A.dylib中的objc_alloc函数,由此可知alloc方法的源码在libobjc.A.dylib库中。
断点

3. 汇编跟流程

SLPerson创建的行添加一个断点,运行工程,当进入断点后选择XcodeDebug菜单中的Debug Workflow中的Always show disassembly选项

Always show disassembly
可以看到断点变成了如下模样
断点
根据显示再下一个objc_alloc的符号断点后点击Continue program execution按钮过掉当前断点,可以看到进入了libobjc.A.dylib中的objc_alloc函数,由此可知alloc方法的源码在libobjc.A.dylib库中。
断点

Apple开源源码下载地址
1、Apple所有开源源码汇总地址,根据相应的版本查找对应的源码,以mac 10.15为例:macOS --> 10.15 --> 10.15 --> 搜索objc
2、Apple比较直接的源码下载地址,直接搜索库名即可,例如command+f输入objc,选择objc4 --> 选择所需版本

相关文章

网友评论

      本文标题:01 探索源码的三种方式

      本文链接:https://www.haomeiwen.com/subject/ebsczktx.html