1. 打开要进行内存泄漏的项目
2. 进入 instruments 工具
点击xcode的导航栏的Product --> Profile 或者 长按运行按钮-->选择Profile
3. 选择Leaks 选项
4. 开始进行Leaks测试
(1) 选中Xcode先把程序(command + R)运行起来(如果Xcode左上角已经是instrument的图标就不用执行这一步了)
(2) 再选中Xcode,按快捷键(command + control + i)运行起来,此时Leaks已经跑起来了
(3) 由于Leaks是动态监测,所以我们需要手动操作APP,一边操作,一边观察Leaks的变化,当出现红色叉时,就监测到了内存泄露,点击左上角的第二个,进行暂停检测(也可继续检测)
(4) 定位修改
选中有红色柱子的Leaks,点开田字方格,选中Call Tree
(5) 最关键一步:点击屏幕下方的 Call Tree 选中 Invert Call Tree 和 Hide System Libraries
如图:
(6) 定位代码中泄漏的位置
选中显示的若干条泄漏中的一条,双击,会自动跳到内存泄漏的代码部分
【注】在选择call tree后,可能你会发现查看不到源码从而无法定位内存泄漏的位置,只是显示16进制的数据。此时需要你在Xcode中检查是否有dSYM File生成,如下图所示选择第二项DWARF with dSYM File.
如图: