今天整理Xcode8 的Debuging 新功能,Debug Memory Graph这个功能,以可视化的视图让开发者
一眼就能明了,并且能具体定位到某个方法,可以检测内存泄露,循环引用之类的问题。
1、配置Edit Scheme,如图1
这里 Malloc Stack 有两个选项,一个是 All allocations,另一个是 Live Allocations Only。如果不开启这个,在最终的生成内存泄露的列表中将无法查看具体leak的函数堆栈信息。
2、运行app
3、运行完成后点击类似分享的按钮,如图2
4、如果有问题,xcode会生成一个堆栈列表,如图3
5、点击图3可以查看,如图4
也可以点击,如图5,直接点击就可以查看某一个具体的问题
6、点击图4,就是runtime issues里面的,就可以查看,可视化的界面,如下图,就是我写了一个循环引用引起的问题
。
7、定位到具体犯错的位置,如下图。
8、点击某一个,就到对应的controller里面,错误方法,在的每一个位置,就直接能定位到。
最后总结,这个方法本人感觉很不错,毕竟改进了好多,可视化,还有就是layout一些错误也能检测到,感觉很完美,以后可以调试,不用花费那么大劲去找。