SIGABRT И SIGTERM THREAD во всех программах - PullRequest
2 голосов
/ 17 февраля 2012

Я использую Xcode 4.2 и получаю 90% времени это сообщение:

@autoreleasepool 
{
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}

Тема 1: Программа получила сигнал "SIGABRT"

Когдаэто работает и выходит iOS Simulator Я получаю:

Thread !: программа получила сигнал SIGTERM

СЕЙЧАС ВСЕ программы (даже простые учебники с одной звуковой кнопкой), которые работалиидеально до того момента, когда я ухожу Simulator, я получаю SIGTERM, а когда я пытаюсь снова бежать, я получаю SIGABRT.Я получаю paranoidddddddddd.

Ошибка: неизвестный код ошибки.Как правило, это означает, что другой экземпляр этого процесса уже запущен или завис в отладочном файле. SharedLibLize apply-load-rules all Текущий язык: auto;в настоящее время цель-C (GDB)

Что я должен делать?

Ответы [ 3 ]

6 голосов
/ 17 февраля 2012

Некоторые вещи, которые вы можете попробовать, которые помогли мне в прошлом (в таком порядке):

  1. Продукт> Чистый
  2. Удаление / удаление приложений с ваших устройств вручную.
  3. В iOS Simulator, iOS Simulator> «Сбросить содержимое и настройки».
  4. Удалите все в ваших «Производных данных» для проектов, вызывающих проблемы. (Снимок экрана) В Организаторе> Проекты.
  5. Выйти из xCode.
  6. Перезагрузите компьютер.

enter image description here

Я заметил, что производные данные вызывают наибольшее количество проблем, когда вы создаете несколько проектов с одним и тем же именем, намеренно или случайно.

Редактировать: Подробнее ..

Единственный раз, когда я получал SIGTERM, это когда вы запускаете тест на «устройстве», а затем выходите из приложения с устройства, прежде чем нажать «Стоп» в xCode, а затем попробуйте снова запустить его на устройстве. Если это было больше проблемой SIGABRT, я всегда проверяю свои IBOutlets. SIGABRT происходит каждый раз, когда вы удаляете код для розетки, но не удаляете соединение в IB. [xcode 4.2.1]

1 голос
/ 17 февраля 2012

Предыдущее приложение все еще «застряло» в симуляторе.Попробуйте полностью выйти из симулятора, очистить ваш проект, а затем попытаться построить снова.

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

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

SIGABRT означает, что ваша программа выдает исключение.Если вы явно не установите точку останова для запуска при возникновении исключения, тогда Xcode покажет вам SIGABRT в main, который бесполезен для отладки.

Вам необходимо добавить точку останова исключения чтобы вы могли видеть, куда выдается исключение.

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