2010-07-03 2 views
1

Я получаю это исключение:Получение «Программа получила сигнал:„SIGABRT“» в iPhone SDK

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 (устройство и симулятор).

Может ли кто-нибудь сказать мне, что происходит не так, чтобы я мог обновить свое приложение?

ответ

6

Он рассказывает вам, в чем проблема: вы освобождаете память, когда это уже сделано, возможно, отправив слишком много сообщений о выпуске объекта.

Запуск в режиме отладки, и он, вероятно, сразу же остановится на правильной строке кода. Затем отследите, что вы делаете с этим объектом.

1

Инструмент распределения (Run> Run with Performance Tool> Object Allocations) должен быть здесь очень полезен - он покажет вам все обратные трассы, которые выделяли, сохраняли или отпускали объект. Нахождение места, где вы забыли сохранить, должно быть довольно легко, учитывая эти обратные пути.

Смежные вопросы