美文网首页
alloc探索的三种方法

alloc探索的三种方法

作者: lkm_0bdc | 来源:发表于2020-09-02 18:02 被阅读0次
    • 按住 control -step into
    • 符号断点形式直接跟流程
    • 汇编查看跟流程
      下面详细讲解三种方法是如何查询\color{#FF0000}{函数}所在的\color{#FF0000}{源码库},这里是以alloc为例子。

    按住 control -step into

    因为模拟机是无法进行,我们需要真机运行。
    首先我们需要打一个断点,然后按住\color{#FF0000}{control},下方的箭头发生改变,点击箭头一直进入,就会看到alloc的源码位于libobjc.A.dylib(这里可以查看官方文档了解)。


    如果在已知跟踪条件\color{#FF0000}{objc_alloc}的情况下,我们可以直接使用符号断点(如果不清楚,可以看下面步骤),就会看到\color{#FF0000}{alloc的源码位置}

    符号断点形式直接跟流

    在main中的LGPerson处加一个断点,走之前需要关闭上面新加的符号断点,因为alloc调用的地方比较多,不关闭的话,不能准确的定位到LGPerson 的alloc方法。


    符号断点流程

    \color{#FF0000}{Symbol}输入\color{#FF0000}{alloc},如果不设置,将会违背已有的条件。

    然后我们会看到很多的内容,这时候只需要过一个断点,就可以来到alloc的动态库。
    从图中可以看出alloc的源码位于libobjc.A.dylib。


    汇编查看跟流程

    在main中的LGPerson处加一个断点,然后在上方\color{#FF0000}{Debug-->Debug Workflow -->Always Show Disassembly}进入汇编跟踪流,这个选项表示始终显示反汇编,直接定位到alloc的源码位于libobjc.A.dylib。

    过断点到objec_alloc的位置按住control + step into


    就可以在已知的情况下,通过符号断点知道源码所在库(需要去Apple开源objc源码下载进行了解)。

    下面是Apple提供的源码下载地址
    苹果开源源码汇总
    这个地址直接通过搜索

    相关文章

      网友评论

          本文标题:alloc探索的三种方法

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