美文网首页
iOS底层原理-源码探索的三种方式

iOS底层原理-源码探索的三种方式

作者: 学到不懂为止 | 来源:发表于2020-09-07 15:36 被阅读0次

    本文介绍以alloc函数为例,该函数位于哪个库,分析三种方式:

    • 断点 + control + step into 跟踪方式
    • 断点 + 符号alloc断点 + Continue program execution跟踪方式
    • 汇编跟踪

    1、断点 + control + step into 跟踪方式

    • 建立类LNDPersonal,在alloc处断点位置
    LNDPersonal *p = [LNDPersonal alloc];
    
    • 此时按住control + step into,如下图位置
    image
    • 直到定位到objc_alloc,此时看到来自于libobjc.A.dylib库,如下图情况
    image

    2、断点 + 符号alloc断点 + Continue program execution跟踪方式

    • 建立类LNDPersonal,在alloc处断点位置
    LNDPersonal *p = [LNDPersonal alloc];
    
    • 此时设置符号alloc断点,如下图方式
    image image
    • 点击Continue program execution,如下图位置
    image
    • 接下来xcode自动跳转到如下图情况,看到alloc来自于libobjc.A.dylib库。
    image

    3、汇编跟踪

    • 建立类LNDPersonal,在alloc处断点位置
    LNDPersonal *p = [LNDPersonal alloc];
    
    • Debug->Debug Workflow->Always Show Disassembly选中,如下图位置
    image
    • xcode自动跳转到汇编代码区域,如下图位置,拷贝objc_alloc
    image
    • objc_alloc建立符号断点,显示如下图结果,看到alloc来自于libobjc.A.dylib库。
    image

    相关文章

      网友评论

          本文标题:iOS底层原理-源码探索的三种方式

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