使用Xcode-Instruments中的Leaks检测内存泄漏步骤:
1、如图所示,打开项目在顶部工具栏依次选中Xcode -- Open developer Tool -- Instruments
2、打开Instruments后查找Leaks
3、打开Leaks后,顶部按钮功能依次为开始检测/结束检测,暂停检测,选择检测设备,选择检测的项目
4、项目中添加会产生内存泄漏的代码(在模拟器iphone12上运行起来)
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
NSMutableArray *arr1 = [NSMutableArray array];
NSMutableArray *arr2 = [NSMutableArray array];
[arr1 addObject:arr2];
[arr2 addObject:arr1];
}
@end
5、在Leaks中选好设备iphone12和项目,在左侧的Allocations和Leaks中选择Leaks,点击左上角开始检测按钮,此时Leaks会运行起项目。
如图所示选择Call Tree,Call Tree里显示的是泄露内存分配时的栈回溯
6、进一步设置call Tree
Separate by Thread:栈回溯按照线程分离
Invert Call Tree:栈回溯顺序颠倒
Hide System Libraries:隐藏系统栈回溯
Flatten Recursion:递归调用合并成一个
6、双击这里跳转到问题代码