"leaks"与Instruments.app中的>#Living"分配有什么不同? [英] What is the difference between "Leaks" and "Allocations > # Living" in Instruments.app?

查看:36
本文介绍了"leaks"与Instruments.app中的>#Living"分配有什么不同?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道在Xcode5的Instruments.app中显示的"Leaks"和"Allocation>#Living"有什么区别。我使用iprofiler命令检查了用Clang++构建的C++命令行应用程序的内存泄漏,并使用Instrunents.app打开了一个.dtps文件。

$ iprofiler -leaks ./a.out
$ open a.dtps

正如您在所附屏幕截图中所看到的,有166.61 MB的大内存。苹果公司解释说,"#Living"是"在选定的时间范围内创建的分配数量,并在该时间范围结束时仍然存在。"听起来"#Living"表示内存泄漏量。

但我没有在应用程序窗口的"Leaks"选项卡中看到此"Leaks"。"泄密"和"活着"有什么区别?

推荐答案

分配的和静止的对象是那些仍由应用程序使用并保留引用的对象。使用这个数字,您可以识别您仍然持有的对象,从而耗尽内存。分配分析可帮助您改善内存使用问题。他们不是泄密的暴徒,但仍被引用。

泄漏是应用程序中不再被引用和可访问的对象。因此,从未被释放或释放的对象分别。

这篇关于"leaks"与Instruments.app中的>#Living"分配有什么不同?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆