美文网首页
Xcode 静态分析与内存泄漏检查

Xcode 静态分析与内存泄漏检查

作者: 书写不简单 | 来源:发表于2018-12-24 10:22 被阅读0次

    一、静态分析

    Xcode -> Product -> Analyze 即可进行静态分析。

    Xcode 静态分析能发现的问题主要有:
    (1)逻辑缺陷,例如访问未初始化的变量或空指针的解引用;
    (2)内存管理缺陷,如内存泄露;
    (3)无用存储缺陷(永不会被访问的变量);
    (4)因未遵从项目用到的框架(frameworks)或类库(libraries)所规范的而导致的API使用缺陷;

    通过 Xcode Analyze 发现一些 error 之后,可以找开发讨论解决问题;Xcode 中左边的导航面板可以查看具体的 error 信息(蓝色的即为 error,黄色的为 warning)。如下图所示:


    静态分析.png

    二、内存检查

    1.Xcode -> Product -> Profile 打开模板选择界面;
    2.选择 Leaks并点击 Choose


    leak1.png leak2.png leak3.png

    3.选择好真机或者模拟器,找到需要检测的app后,点击 小红点 即可开始检测, 检测的内存泄漏后,Leaks check 会在内存泄露的地方标红,此时应该 点击暂停,来定位内存泄漏的地方


    leak4.png leak5.png

    4.定位内存泄漏:

    4.1选中出现内存泄露的时间区间


    leak6.png

    4.2切换成 Call Tree 视图


    leak7.png
    leak8.png
    4.3在Call Tree 菜单中勾选 invert Call Tree 和Hide System Libraries
    leak9.png

    可以看到小人头像部分,就是内存泄漏的地方,点击右侧的Heavlest stack Trace的小人可以快速展开左侧的折叠部分,双击左侧泄漏的方法可以快速定位到项目源代码部分


    leak10.png
    leak11.png

    如果没有出现小人头像部分,而是地址符号,则检查下 Debug Information Format是否设置为 DWARF With dSYM File


    leak12.png

    相关文章

      网友评论

          本文标题:Xcode 静态分析与内存泄漏检查

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