Xcode6 Leaks工具

作者: 潇湘阳阳 | 来源:发表于2015-05-28 16:29 被阅读916次

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

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

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

    首先使用到的Instrument工具Leaks

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

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

       选择product -> profile 即可

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

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

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

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

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

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

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

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

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

    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工具

        本文链接:https://www.haomeiwen.com/subject/jzbrqttx.html