因此,在运行Objective-C应用程序约8小时后,最终我的机器将显示此错误消息。但是使用仪器24小时后,它只完成了应用程序在没有仪器的情况下8小时内可以完成的工作量的大约1%。
我的应用程序基本上采用输入几何体并创建导航网格。
我的问题:我怎样才能找出问题所在?我肯定在我的应用程序的某个地方,我正在请求内存并且永远不会释放它。我运行了分析,发现了一个泄漏,但没有显着,我已修复它。
我现在正在运行仪器进行分配/泄漏但是在16分钟后我没有看到任何明显的东西(我会让它继续下去)。
以下是迄今为止所处位置的快照:
任何人对我如何调试这个有什么想法?我希望能够运行大约20个小时,以便完成它不可避免地死亡:/
提前致谢!
答案 0 :(得分:9)
你像一个冠军一样泄露记忆!
在分配工具
启用“跟踪引用计数事件”(或其他任何名称)
重新运行会话并按“总字节数”列
从顶部开始,最需要内存耗尽的分配,然后点击小箭头查看所有这些分配的来源,继续列表...
这很像快照分析,因此,我前一段时间写的this weblog article可能会有所帮助。