Xcode6 Leaks工具

1,为什么要测试代码的内存泄露

内存的泄露导致我们软件在运行过程中占用越来越多的内存,占有资源却又得不到及时清理,会导致我们程序效率越来越低,反应慢,会影响我们用户体验,失去市场的竞争能力

2,怎样使用工具测试内存泄露

首先使用到的Instrument工具Leaks

1,运行一段正确的无bug的demo,运行该段代码,

Xcode6 Leaks工具_第1张图片

2,打开xcode中的instrument ,打开方式:

   选择product -> profile 即可

   通过Xcode来启动Instruments(启动前必须停止你当前的执行文件)

选择第一种启动方式,build成功后跳出Instruments工具,选择Leaks选项,工具显示效果如下,解释一下,为什么选择leaks模板,但是默认情况下还是会添加Allocations模板,


Xcode6 Leaks工具_第2张图片

点击红色按钮,开始运行,(这里运行了一分钟直到出现内存泄露方可停止)如图所示


Xcode6 Leaks工具_第3张图片

通过观察,可以看出红色的柱子表示内存泄露 ,如上图所示,选择leak,点击十字交叉,选择call Tree


Xcode6 Leaks工具_第4张图片

选择Call Tree后,右下角勾选住 Invert Call Tree(倒置call tree),Hide System Libraries(隐藏系统工具)


Xcode6 Leaks工具_第5张图片

这时候内存泄露的具体代码找到了,在右边的红色框框里指定了哪个方法出现了内存泄露。

你只要在这些方法上双击,就会跳转到具体的代码,方便程序员调试


Xcode6 Leaks工具_第6张图片

以此选择leak,点击十字交叉,选择Cycles&roots 如图可以可以看到内存泄露地址:


Xcode6 Leaks工具_第7张图片

点击箭头,查看结果,联系开发人员分析结果

Leaks instrument工具检查进程堆泄露的内存。你可以使用该instrument工具配合Allocations instrument工具来获取内存地址的历史记录。该instrument工具要求你加载一个进程以便它可以从进程启动时收集数据。

该instrument工具捕获以下信息:

z内存泄露的数量(The number of leaks)

z每个泄露内存块的大小(The size of each leak)

z泄露内存块的地址(Address of the leaked block)z泄露对象的类型(Type of the

leadked object)

详细面板的每个视图模式以轻微不同的函数显示泄露的数据。在列表模式下,该instrument工具显示每个泄露的百分比,而每个内存泄露有助于发现内存泄露的总数。在大纲模式下,数据被重组以便你可以查看给定的符号有多少内存泄露。对于任何模式的条目,在扩展详细面板显示内存泄露引发的深入栈跟踪信息。

Egt��^��Ҩ

你可能感兴趣的:(Xcode6 Leaks工具)