Xcode Instruments系列之Leaks使用教程

Overview

最近几天在进行公司项目的测试,用到了Leaks进行内存泄露的检测。
鉴于网上千篇一律的旧版教程,变萌生了写一篇针对新版Xcode面向萌新的教程。

<!–more–>

工具

Xcode 10.1
Instruments

唤起Instruments面板

1、打开Xcode
2、按住command + I 或者 菜单栏Product – Profile(选择真机)

等待项目编译通过即可打开Instruments面板

Leaks的使用

1、选择Leaks双击 或者 按 choose

2、打开Leaks面板

3、点击左上角红色点,即可运行内存检测

4、在运行过程中如果发现Leak Checks(如图)出现红色X说明检测到内存泄露,将鼠标点击Leak Checks,在下方即可看到内存泄漏的相关信息

5、定位内存泄露代码位置

第一步:选择Leaks有时候默认是 Run lssues(如图)

第二步:选择Call Tree

然后呢都是一堆内存地址无法知晓哪里出现问题(如图)

第三步:选择底部的Call Tree在弹窗中选择Invert Call Tree 和 Hide System Libraries,即可显示出具体内存泄漏的代码,但假如还不显示请看第四步(如图)

第四步:如果第三步还无法定位到具体代码,则
点击项目工程文件-Buidl Setting-All-搜索Debug Information Format-Debug里选择DWARF with dSYM File(如图)

然后重新编译启动Leaks重复上面1-3步骤即可定位到具体代码

例如这里就是我使用第三方库blocksKit,这个库存在内存泄漏

查看内存泄漏引用图

将Call Tree选项改为Cycles & Roots 即可查看,不是所有的都可以查看。

The End

博主大大

假如生活欺骗了你,不要悲伤,不要难过,反正明天也一样......

3 Comments

  • 你这个博客是用什么搭建的

    • @GivenchyLee wordpress + 阿里云服务器

  • 很幸运能看到你的博客,有个问题一直没有解决。通过XCode –> Profile 然后怎么也没法运行 报错 “ 错误信息标题:App installation failed 具体错误信息:A valid provisioning profile for this executable was not found”。不是证书问题,真机运行没有任何问题。

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

猜你喜欢

暂无内容!