0
点赞
收藏
分享

微信扫一扫

ios 底层原理 :探索源码的三种方式

小迁不秃头 2021-10-15 阅读 28

本文主要介绍探索源码的三种方法

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

下面详细讲解如何查找到函数所在的源码库,以 alloc 为例

1.符号断点直接跟流程

  • 通过下 alloc 符号断点

    • 选择断点symbolic Breakpoint


  • 符号中输入 alloc


  • main中的YXPersonal加一个断点
    在走这一部分断点之前,需要关闭上面新增的符号断点,因为系统层面也会调用很多次 alloc,如果不关闭的话就不能准确定位到我们要研究的 YXPersonal 的 alloc


  • 以下为alloc 符号断点处的堆栈情况,可以看出alloc 源码位于libobjc.A.dylib库(需要去苹果开源网站下载 objc 源码进行探索)


2.通过按住 control + step into

  • main 中的 YXPersonal 处加一个断点


  • 按住 control 键,选择 step into 键


  • 进去后,显示为以下内容


  • 在下一个 objc_alloc 符号断点,就可以看到相应库信息


3.汇编跟流程

  • 在 main 中 YXPersonal 处下一个断点


  • 工具栏 Debug -> DebugWorkFlow -> Always Show Disassembly


  • 在 callq 处打一个断点,step into 进入


  • 同样通过 objc_alloc符号断点,得知源码库所在位置
举报

相关推荐

0 条评论