美文网首页
如何探索底层源码

如何探索底层源码

作者: BobooO | 来源:发表于2020-09-12 22:22 被阅读0次

以跟踪对象alloc方法的实现为例,介绍查找底层源码库的三种方法:

  • 1、通过按住control+step into
  • 2、符号断点直接跟流程
  • 3、汇编跟流程
1、通过按住control+step into
  • main中的LGPerson处加一个断点,运行程序,会断在LGPerson位置


  • 按住 control键,选择 step into键


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


  • 再下一个objc_alloc符号断点,符号断点后显示了 objc_alloc所在的源码库,该方法在libobjc.A.dylib库中
2、符号断点直接跟流程
  • 选择Symbolic Breakpoint,添加一个alloc符号断点,添加后将断点先设置为disable


  • LGPerson处加一个断点


  • 运行程序后将会断在LGPerson *p1 = [LGPerson alloc];,此时打开刚才添加的alloc符号断点,点击继续执行

从上面可以看出, 源码在libobjc.A.dylib

3、汇编跟流程
  • LGPerson处加一个断点


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

  • 运行程序后将会断在LGPerson *p1 = [LGPerson alloc];,按住control,点击step into键,执行到下图的callq ,对应 objc_alloc

  • 按住control,点击 step into键进入,看到断点断在objc_alloc部分


  • 添加objc_alloc的符号断点,得知源码所在库

Apple提供的源码下载地址

Refrences

https://www.jianshu.com/p/11b7d19b02b6

相关文章

  • GCD底层原理分析

    GCD底层原理分析 下面我们在libdispatch.dylib去探索队列是如何创建的 底层源码分析 在源码中搜索...

  • iOS 底层原理 + 逆向 文章汇总

    iOS 底层原理 objc4 源码相关 0、底层源码探索方式iOS-底层原理 01:源码探索的三种方式[https...

  • 如何探索底层源码

    以跟踪对象alloc方法的实现为例,介绍查找底层源码库的三种方法: 1、通过按住control+step into...

  • iOS 底层原理 文章汇总

    objc4 源码相关 0、底层源码探索方式iOS-底层原理 01:源码探索的三种方式[https://www.ji...

  • iOS底层探索-目录

    iOS底层探索001-alloc&init&new源码分析 iOS底层探索002-内存对齐 iOS底层探索003-...

  • iOS进阶-底层探索准备

    源码查看 源码是探索iOS底层的最重要的资料,使用源码进行调试将使你的底层探索之路更加的顺畅,你可从苹果官方开源网...

  • block分析(下)

    block通过clang分析 带着下面的疑问,我们去探索block原理 探索block底层源码 block在底层是...

  • OC底层原理系列文集

    1、对象底层之alloc&init&new源码分析+三种探索方式OC底层原理01-alloc流程探索[https:...

  • OC底层原理三:alloc流程

    在oc底层原理一里我们探索了如何定位底层源码的三种方式,在oc底层原理二里我们配置了objc4-781 的可编译环...

  • 手撕 iOS 底层03 -- NSObject的alloc分析

    本章要点主要探索NSObject的alloc源码?为什么要探索NSObject的源码呢, 上一篇手撕iOS底层02...

网友评论

      本文标题:如何探索底层源码

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