XCode 4 не прерывается на правильной строке в EXC_BAD_ACCESS - PullRequest
8 голосов
/ 09 апреля 2011

Недавно я обновил свой xcode до версии 4, и в моем коде EXC_BAD_ACCESS exception, но, несмотря на установку NSZombieEnabled в среде, он все еще показывает точку останова в строке thread1, int retVal = UIApplicationMain(argc, argv, nil, nil);. *

Я уверен, что я настроил это в XCode 3, чтобы он остановился на строке моего кода, который вызывал исключение. Теперь он этого не делает и не выводит сообщений об ошибках в окне GDB.

Кто-нибудь знает, чего мне не хватает?

Спасибо Ray

1 Ответ

5 голосов
/ 10 апреля 2011

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

Самый простой способ найти это в XCode4 - запустить Инструменты (Cmd-I), и в появившемся диалоговом окне с вопросом о том, какой инструмент использовать, выберите «Зомби». Затем сделайте все возможное, чтобы вызвать сбой, и вы увидите всплывающее диалоговое окно с «Zombie Messaged». Нажмите на маленькую стрелку, и вы получите историю того, что создал, сохранил или выпустил объект. Затем вы можете выяснить, кто выпустил объект раньше.

...