NSZombieEnabled ИСПРАВЛЯЕТ мое приложение? - PullRequest
2 голосов
/ 12 ноября 2010

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

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

Поэтому я решил установить NSZombieEnabled, чтобы увидеть, в чем проблема.

Но если этот параметр включен, сбой не может быть воспроизведен. Все, что изменилось, это то, что я установил флажок рядом с «NSZombieEnabled» в конфигурации моего активного исполняемого файла, и приложение отлично работает.

Есть идеи, что вызывает это?

Спасибо

1 Ответ

2 голосов
/ 04 февраля 2011

У меня была такая же проблема с приложением для iPhone в симуляторе. Она выкинет EXC_BAD_ACCESS, когда я подключу конкретный контроллер представления, но как только NSZombieEnabled был включен, ошибка исчезла.

Чтобы сузить его, я закомментировал все выпуски в dealloc контроллера popped view, который удерживал приложение от сбоев, а затем раскомментировал их по одному, пока он снова не рухнул, открыв вызывающую переменную.

В моем случае это был сам оператор release переменной, который выбрасывал EXC_BAD_ACCESS

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

Это не совсем ответ, но, возможно, он укажет кому-то в правильном направлении.

...