本文介绍以alloc
函数为例,该函数位于哪个库,分析三种方式:
-
断点
+control
+step into
跟踪方式 -
断点
+符号alloc断点
+Continue program execution
跟踪方式 - 汇编跟踪
1、断点
+ control
+ step into
跟踪方式
- 建立类
LNDPersonal
,在alloc
处断点位置
LNDPersonal *p = [LNDPersonal alloc];
- 此时按住
control
+step into
,如下图位置
- 直到定位到
objc_alloc
,此时看到来自于libobjc.A.dylib
库,如下图情况
2、断点
+ 符号alloc断点
+ Continue program execution
跟踪方式
- 建立类
LNDPersonal
,在alloc
处断点位置
LNDPersonal *p = [LNDPersonal alloc];
- 此时设置
符号alloc断点
,如下图方式
- 点击
Continue program execution
,如下图位置
- 接下来xcode自动跳转到如下图情况,看到alloc来自于
libobjc.A.dylib
库。
3、汇编跟踪
- 建立类
LNDPersonal
,在alloc
处断点位置
LNDPersonal *p = [LNDPersonal alloc];
-
Debug
->Debug Workflow
->Always Show Disassembly
选中,如下图位置
- xcode自动跳转到汇编代码区域,如下图位置,拷贝
objc_alloc
-
objc_alloc
建立符号断点,显示如下图结果,看到alloc来自于libobjc.A.dylib
库。
网友评论