本文介绍以下三种探究源码的方式
1.符号断点
2.已有断点下按住control
+step into
3.汇编跟进
下面分别用这三种方式找到alloc
在哪个系统函数库。
1. 符号断点
通过符号断点找到alloc
在libobjc.A.dylib
这个动态库中。
2.通过已有断点按住control
+step into
在调用alloc
的地方下一个断点。
上面我们发现并没有显示函数所在的动态库,于是我们故技重施,再下一个objc_alloc
的符号断点。
发现objc_alloc
这个函数同样在libobjc.A.dylib
这个动态库里面。
3.汇编跟进。
第一步还是在使用到alloc
的地方打一个断点,然后点击xcode
工具栏选择 Debug
--> Debug Workflow
--> Always Show Disassembly
。这个 选项表示进入断点时始终显示反汇编。
进入断点后按住control
+step into
往下走,当执行到12行汇编时就会跳转到objc_alloc
函数。
同样没法定位函数所在动态库,只有“梅花三弄“再次通过下符号断点找到。