重新使用仪器的“内存泄漏”分析,是否有其他工具可以提供更多信息以找到泄漏的根本原因?

时间:2011-05-25 23:06:41

标签: iphone objective-c memory-management memory-leaks instruments

仪器的“内存泄漏”分析,是否有其他工具可以提供更多信息,找到泄漏的根本原因

我遇到的问题是找到根本原因(而不是创建泄漏对象的地方,仪器告诉我)。我被困的例子看What is the source of the leaky object for this code?简单地看来我似乎没有在某个地方发布一个对象,但是这个对象被捆绑在一个父进程中,这是父进程等等所以我很难过试图找出我错误的地方。

所以我的问题是,除了Instruments(以及使用'Memory Leaks'进行分析,它告诉你泄漏对象的创建位置,而不是根本原因),是否还有其他可以运行的工具可以给出我有没有比仪器追踪根本原因更多的信息?

编辑1 - 请注意我的应用程序将构建&分析没有任何问题。

1 个答案:

答案 0 :(得分:1)

我对阅读仪器显示器还不熟悉,但我在应用程序中发现一些泄漏的方法是在仪器中观察分配的对象计数,然后重复执行一些简单的UI功能。当我一遍又一遍地敲击屏幕时,我会看到2或3个对象计数在一段时间内不断增加。

查看类我发现在开发过程中我添加了一些属性,然后在dealloc代码中忘记了nil。一旦我添加了这些陈述,泄漏就消失了。

有趣的是,这些没有出现在泄漏显示器或静态分析仪中。至少不是我承认的。