7

因此,在运行我的 Objective-C 应用程序大约 8 小时后,我的机器最终将显示此错误消息。但是在使用 Instruments 24 小时后,它只完成了应用在 8 小时内不使用 Instruments 所能完成的工作的 1% 左右。

我的应用程序基本上采用输入几何并创建导航网格。

我的问题:我怎样才能找出我的问题在哪里?我确定在我的应用程序的某个地方我正在请求内存并且从不释放它。我运行了分析,它发现了一个泄漏,但并不严重,我已经修复了它。

我现在正在为分配/泄漏运行 Instruments,但 16 分钟后我看不到任何明显的东西(我要让它继续下去)。

这是迄今为止它所在位置的快照: 仪器

有人对我如何调试这个有任何想法吗?我希望能够运行大约 20 小时,这样它就可以完成而不是不可避免地死亡:/

提前致谢!

4

1 回答 1

9

你会像冠军一样泄露内存!

  • 在分配工具中打开“仅跟踪实时分配”

  • 打开“跟踪引用计数事件”(或任何名称)

  • 重新运行您的会话并按“总字节数”列排序

  • 从顶部开始,最占用内存的分配,然后单击小箭头以查看所有这些分配的来源,继续向下列表...

它很像 Heapshot 分析,因此,我不久前写的这篇博客文章可能会有所帮助。

于 2012-11-06T22:29:20.477 回答