前言
很多时候我们想看一下系统内部调用了那些方法,但是我们断点只能打到我们自己的代码里却不能打到系统的代码里,这个时候我们可以通过以下几种方法来深入探究
1.符号断点直接跟流程
2.通过按住control+step into
3.符号断点直接跟流程
一.符号断点直接跟流程
举个例子我们来看看alloc的流程
DPModel*model = [DPModelalloc];
DPModel*model1 = [modelinit];
DPModel*model2 = [modelinit];
NSLog(@"model = %@,\n model1 = %@,\n model2= %@",model,model1,model2);
第一步
第二步
第三步
这样我们就进来了,这里我们可以看到alloc 在libobjc.A.dylib这个库里,可以通过Apple开源网址下载 objc源码继续探究一些底层原理.
二.通过按住control+step into
这样也可以进来
三.汇编跟流程
Xcode 工具栏选择 Debug --> Debug Workflow --> Always Show Disassembly,这个代表显示反汇编
当我们无法通过断点跟流程的时候可以尝试一下以上三种方式