我得到了这个例外:
malloc: *** error for object 0x754cab0: double free
*** set a breakpoint in malloc_error_break to debug
Program received signal: “SIGABRT”.
我不知道为什么它只在Iphone sdk 4.0(设备和模拟器)中生成,但它不是在Iphone sdk 3.0版本(设备和模拟器)中生成的。
有谁可以告诉我出了什么问题,以便我可以更新我的应用程序?
答案 0 :(得分:6)
它告诉你问题是什么:当你已经完成时,你可以释放内存,可能是通过向对象发送过多的释放消息。
在调试模式下运行,它可能会立即停在正确的代码行。然后,追溯你做的那个对象。
答案 1 :(得分:1)
分配工具(运行>使用性能工具运行>对象分配)在这里应该非常有用 - 它将显示分配,保留或释放对象的所有回溯。找到你忘记保留的地方应该很容易,因为这些回溯。