美文网首页
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