Сигнал 11, ошибка сегментации при выходе из приложения iphone

StackOverflow https://stackoverflow.com/questions/1849929

  •  13-09-2019
  •  | 
  •  

Вопрос

У меня есть приложение для iPhone.Кажется, все работает нормально.Когда я подключаюсь к подготовленному iphone к Xcode и запускаю приложение, журнал консоли в окне Органайзера всегда жалуется на ошибку сегментации при выходе из приложения с помощью клавиши home.

Кто-нибудь еще видел это, и есть ли у вас представление о том, в чем может заключаться проблема?Я использую поток для загрузки веб-страниц в фоновом режиме, но я останавливаю поток при выходе.

Мое приложение действительно сохраняет некоторую постоянную информацию.Когда я использую функцию build and analyze, я получаю около 2 потенциальных утечек памяти, но в каждом случае я выделяю объект и сохраняю его в массиве.

Есть идеи, или это нормально?

Это было полезно?

Решение

Попробуйте запустить свое приложение с помощью NSZombieEnabled.Это сообщит вам, закончился ли выпуск какого-либо объекта.Чтобы включить зомби, выполните следующие действия:

  1. Выберите Проект > Редактировать активный исполняемый файл, чтобы открыть окно Информация об исполняемом файле .
  2. Щелкните Аргументы.
  3. Нажмите кнопку добавить (+) в разделе “Переменные, которые будут установлены в среде”.
  4. Введите NSZombieEnabled в столбце Имя и YES в столбце Значение.
  5. Убедитесь, что установлен флажок для записи NSZombieEnabled.

Другие советы

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

Возможно, вы освобождаете какой-то объект больше раз, чем количество его сохранений.Прокомментировать -release звонки в вашем dealloc методами (или где-либо еще) до тех пор, пока вы не найдете виновника.

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

Если вы используете удобные методы, например, (например [NSString stringWithFormat:@"..."]) в отличие от alloc-init методы (например, [[NSString alloc] initWithFormat:@"..."]) результирующий объект удобства автоматически освобождается и не должен освобождаться вручную.

Моей проблемой были uididfaker и locationholic из cydia, и после их удаления xcode запускался на моем iphone просто отлично.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top