iOS底层01--确定底层源码库的三种方式

本文主要介绍确定方法调用的底层源码库的三种方式

1.通过 control + step into 结合断点跟流程

2.符号断点直接跟流程

3.根据汇编来查看

下面详细介绍这三种方法的操作流程,以alloc为例

1.通过 control + step into 结合断点跟流程

首先在alloc调用处打一个断点,然后运行程序,会断在alloc处

然后按住control键,点击step into:

进去后显示如下内容:

再点击step into 按钮,此时就会显示objc_alloc 调用的底层库libobjc.A.dylib:

最后去苹果相应的开源网址下载 objc源码进行更深入的探索。

2.符号断点直接跟流程

添加alloc的符号断点:

符号断点设置弹窗中在symbol中输入alloc:

在alloc调用的地方打一个断点,先关闭alloc的符号断点,因为调用alloc的地方特别多,如果不关闭的话不能准确的定位我们想要追踪的的alloc方法。

符号断点关闭状态:

运行程序,断点断在alloc调用处,然后打开符号断点:

点击下一步:

显示alloc的调用情况,就能看到alloc调用的底层库是libobjc.A.dylib库:

3.根据汇编来查看

xcode 工具栏 选择 Debug --> Debug Workflow --> Always Show Disassembly,这个 选项表示 始终显示反汇编 ,即 通过汇编 跟流程:

在alloc的调用处打一个断点:

程序运行,会进入到汇编页面:

按住control键 + step into按钮,会显示显示objc_alloc 调用的底层库libobjc.A.dylib:

Apple源码地址:搜索对应的库名,然后选择相应的版本下载

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容