HeapShot 使用 Instrument 检测内存泄漏
Posted
技术标签:
【中文标题】HeapShot 使用 Instrument 检测内存泄漏【英文标题】:HeapShot using Instrument to detect memory leaks 【发布时间】:2011-09-08 14:22:44 【问题描述】:请帮助我了解如何使用图像中显示的这种静态。 如何有效地使用 heapshot 来检测内存泄漏?
我已使用泄漏添加了仪器的图像。但我无法找到内存泄漏的确切位置。 请指导我。
【问题讨论】:
改用“泄漏”工具。 【参考方案1】:基本上,此屏幕截图中的 heapshot 将显示在上一个快照之后创建且仍处于“活动”状态(保留计数 > 0)的所有对象。
典型的用法是点击“Mark Heap”,然后导航到视图控制器,点击几个按钮,执行一些操作,然后点击“返回”按钮。拍摄另一个快照并检查对象列表。您应该确保周围没有任何应该清理的物体。这可能是视图控制器本身、模型对象等。
如果您想检测真正的泄漏(未引用的对象),请使用泄漏工具。如果您想找到其他类型的无限内存增长,即仍然被引用且不应该存在的对象,请使用此屏幕截图中的分配工具检查堆快照。
编辑:
您在原始帖子中添加了泄漏屏幕截图。要查看分配此对象的堆栈跟踪,请单击此按钮:
这应该会告诉你对象是在哪里创建的。然后你需要弄清楚适当的发布调用需要去哪里。
【讨论】:
感谢您的输入...我已经为使用泄漏的仪器添加了图像..请检查它指导我以上是关于HeapShot 使用 Instrument 检测内存泄漏的主要内容,如果未能解决你的问题,请参考以下文章
检测错误及其解决方案 - Xcode 4.2 - Instrument [Memory Leaks]