SIGABRT Xcode 4.2 выпуск - PullRequest
       14

SIGABRT Xcode 4.2 выпуск

3 голосов
/ 28 февраля 2012

Поскольку я обновил с xcode 3.1 до xcode 4.2, когда я отлаживаю программу и по какой-то причине я получаю ошибку SIGABRT (то есть, вызывая метод объекта, который не существует), Xcode показывает ошибку в основном функция программы вместо строки, которая генерирует SIGABRT.

Может быть, мне не хватает какой-то конфигурации в отладчике или в xcode? есть идеи?

Ответы [ 3 ]

2 голосов
/ 29 февраля 2012

У меня была такая же проблема в течение долгого времени, и я нашел решение только сейчас.Не знаю, если это самый кошерный способ, но, по крайней мере, он работает для меня.По сути, вы должны создать глобальную точку останова (глобальное значение, применяемое ко всем вашим проектам).

Изучите этот пост и это руководство по созданию символических точек останова ,Я сам создал точку останова Exception (она тоже перехватывает objc_exception_throw) следующим образом:

(for all exceptions)

, а затем переместил ее в пространство точек останова «Пользователь»:

enter image description here

0 голосов
/ 29 февраля 2012

Что это сделало для меня, было то, что я нашел здесь , что связано с созданием NSZombies

Я по крайней мере скопирую основные моменты:

  1. Перейдите к своему проекту в Xcode 4
  2. Переменные среды можно настроить в редакторе схем (найдите «Продукт» -> «Изменить схему» в строке меню):
  3. Назовите переменную как NSZombieEnabled иустановите его значение YES.
  4. Запустите приложение в режиме отладки.Скорее всего, вы получаете… сообщение, отправленное на освобожденный экземпляр… сообщение, и отладчик останавливается на ошибочной строке.Эта информация приводит к проблеме.
  5. Когда все готово, отключите NSZombieEnabled, изменив ДА на НЕТ.
0 голосов
/ 29 февраля 2012

Убедитесь, что используемая схема имеет активные точки останова.Вы можете включить их, нажав кнопку рядом с селектором схемы.

http://bit.ly/zuTnpF

...