Как мне найти свою ошибку в XCode? (проект iphone) - PullRequest
2 голосов
/ 13 января 2011

Я все еще относительно новичок в XCode. Я пытаюсь создать приложение для iPhone, и после запуска моего метода application didFinishLaunchingWithOptions, но не внутри кода, который я могу найти, я получаю эту ошибку:
[58036:207] *** -[_PFArray release]: message sent to deallocated instance 0x17cd2fe0
Я понятия не имею, что это означает, кроме того факта, что какой-то массив где-то выпускается, когда он уже выпущен?
Реальная проблема в том, что я понятия не имею, как использовать предоставленную там информацию, чтобы найти, где находится ошибка. Нет строки кода для поиска, нет имени переменной и т. Д.
Как мне использовать эту информацию, чтобы найти то, что я ищу?

1 Ответ

6 голосов
/ 13 января 2011

попробуйте включить зомби, тогда xcode автоматически устанавливает точку останова на строку, где происходит эта ошибка. Google nszombieenabled для получения дополнительной информации

Редактировать: Ну, у меня не так много вещей, чтобы сделать это, ваш гид,

  1. Открытые инструменты. Это приложение, и вы можете найти его в "~ / Разработчик / Приложения / Инструменты" (в пути установки по умолчанию). Инструменты будут вашей правой рукой, так что осваивайте их хорошо.

  2. На начальном экране вы увидите кучу шаблонов. Откройте одно под названием «Зомби». Примечание: вы часто будете использовать шаблон с именем «Утечки». Он показывает все утечки памяти, которые вы забыли устранить.

  3. В «выберите цель» (верхний левый угол) выберите «выбрать цель» и снова выберите «выбрать цель». Отсюда перейдите в каталог проекта и выберите «build / Debug-iphonesimulator / executetableName». Здесь я предполагаю, что вы создали свой проект в профиле отладки с nszombieenabled в true. Если нет, постройте его так и ответьте 3.

  4. Нажмите кнопку записи (в верхнем левом углу). Симулятор появится и ваше приложение запустится. Затем воспроизведите ошибку, с которой вы столкнулись.

  5. Инструменты будут прерывать приложение, показывая всплывающее сообщение. Не закрывайте пузырь. На панели в середине окна выберите «список объектов» вместо «статистика». Теперь все объекты, выделенные до этого момента, находятся в списке, отсортированном по их адресам памяти. Здесь прокрутите вниз до адреса памяти, написанного внутри пузыря. Вы можете ввести начальные буквы для быстрой прокрутки. Затем дважды щелкните по найденной вами строке. Это приводит вас к коду, в котором расположен объект, ЕСЛИ КОД - ВАШ. Если это не так, то ios выделил объект. Но не волнуйтесь, дважды щелкните по строкам ниже и выше, чтобы увидеть, выделены ли они вами. Это должно дать вам подсказку, в чем может быть проблема, поскольку эти строки запускают ios для размещения объекта (возможно).

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

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