Получение «Программный полученный сигнал:« SIGABRT »» в iphone SDK - PullRequest
1 голос
/ 03 июля 2010

Я получаю это исключение:

  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 ]

6 голосов
/ 03 июля 2010

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

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

1 голос
/ 03 июля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...