美文网首页
断点、汇编分析的常见方法

断点、汇编分析的常见方法

作者: 恬甜咖啡糖_0301 | 来源:发表于2019-12-25 15:44 被阅读0次

    拿 NSObject alloc 举例?

    我们现在需要知道alloc的源码所在

    方法1.断点+Control键 然后Step into

    在alloc处打一个断点,进到断点处,按住control键

    按住control键前后,底部断点状态的变化


    按住Control键前.png
    按住Control键后.png

    然后一直Step into,直到汇编即可停止


    libobjc.A.dylib->objc_alloc.png

    结论:现在能知道alloc,底层就是调用了libobjc.A.dylib 的objc_alloc。

    方法2. 符号断点

    直接在合适的地方打上 alloc的符号断点,下完符号断点,往下跳过,会直接来到:

    libobjc.A.dylib`+[NSObject alloc]:
    ->  0x7fff514105ed <+0>: jmp    0x7fff51410611            ; _objc_rootAlloc
    

    然后Step into,最后也会到汇编处,同样得到底层源码方法。

    方法3.直接查看汇编

    到alloc断点处,Debug/DebugWorkflow/Always show Disassembly


    断点处查看汇编.png

    然后一步步Step into,能看到底层调用栈。

    最后

    最后就能知道alloc,底层就是调用了libobjc.A.dylib 的objc_alloc。

    相关文章

      网友评论

          本文标题:断点、汇编分析的常见方法

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