在iphone sdk中获取“程序接收信号:”SIGABRT“”

时间:2010-07-03 10:30:28

标签: iphone objective-c

我得到了这个例外:

  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版本(设备和模拟器)中生成的。

有谁可以告诉我出了什么问题,以便我可以更新我的应用程序?

2 个答案:

答案 0 :(得分:6)

它告诉你问题是什么:当你已经完成时,你可以释放内存,可能是通过向对象发送过多的释放消息。

在调试模式下运行,它可能会立即停在正确的代码行。然后,追溯你做的那个对象。

答案 1 :(得分:1)

分配工具(运行>使用性能工具运行>对象分配)在这里应该非常有用 - 它将显示分配,保留或释放对象的所有回溯。找到你忘记保留的地方应该很容易,因为这些回溯。