Ответы:
Переменные среды теперь являются частью "схемы".
Чтобы отредактировать схему и включить зомби:
В меню «Продукт» выберите «Редактировать схему».
Перейдите к этапу «Запустить Foo.app» на левой панели и к вкладке «Аргументы» справа.
Добавьте NSZombieEnabled
к разделу «Переменные среды» и установите значение YES
, как вы могли бы в Xcode 3.
В Xcode 4.1 и выше , также есть флажок на вкладке «Диагностика» стадии «Выполнить», чтобы «Включить объекты зомби».
С Xcode 6.4:
Я столкнулся с той же проблемой, связанной с устранением неполадок EXC_BAD_ACCESS, и мне было трудно найти настройку с помощью Xcode 4.2 (последняя версия, поставляемая с iOS5 SDK). Apple продолжает двигаться, и настройки уже не там, где раньше.
К счастью, я нашел его, и он работает для устройства, а не только для симулятора. Вам нужно открыть меню «Продукт» в XCode, выбрать «Редактировать схему», а затем выбрать вкладку «Диагностика». Там у вас есть «Включить объекты зомби». После того, как выбран и запущен в отладчике, вы укажете на двойной объект! Наслаждайтесь!
Коротко
Product->Edit Scheme->Diagnostics-> Click Enable Zombie Objects
Product> Profile запустит Instruments, а затем у вас должен появиться «Шаблон трассировки» с именем «Zombies». Однако этот шаблон трассировки доступен только в том случае, если текущим местом назначения сборки является симулятор - он не будет доступен, если в качестве места назначения установлено устройство iOS.
Также следует отметить, что в библиотеке инструментов нет актуального инструмента Zombies. Шаблон трассировки зомби на самом деле состоит из инструмента Распределения с набором конфигурации запуска «Включить обнаружение NSZombie».
Это просто - установить переменную окружения в вашем исполняемом файле (NSZombieEnabled = YES)
, а затем запустить / отладить ваше приложение как обычно. Если вы отправите сообщение зомби, ваше приложение будет аварийно завершено или прекратит работу отладчика и NSLog
сообщения для вас.
Для получения дополнительной информации, проверьте эту страницу CocoaDev: http://www.cocoadev.com/index.pl?NSZombieEnabled
Кроме того, этот процесс станет намного проще с выпуском 10.6 и следующими версиями Xcode и Instruments. Просто говорю'. знак равно
Продукт> Профиль появится во всплывающих окнах. Выберите зомби на панели и сходите с ума.
Вот видео и объяснение, как использовать Instruments и NSZombie для поиска и исправления сбоев памяти на iOS: http://www.markj.net/iphone-memory-debug-nszombie/
По состоянию на Xcode 3.2.5 и Snow Leopard (Mac OS X 10.6), вы можете запустить свой код через инструмент Zombies: Run > Run with Performance Tool > Zombies
. Это позволяет вам видеть конкретные объекты и их количество на временной шкале.
Чтобы включить ведение журнала Zombie, дважды щелкните исполняемый файл в группе исполняемых файлов вашего проекта XCode. В этот момент перейдите на вкладку Аргументы и в Variables to be set in the environment:
разделе создайте переменную с именем NSZombieEnabled
и установите для нее значение YES
.
В настройках вашего исполняемого файла добавьте переменную окружения NSZombieEnabled
и установите значение в YES
.
в вашем XCODE (4.3) следующая кнопка воспроизведения :) (запустить)
выберите: изменить схему
откроется окно управления схемой
нажмите на вкладку Аргументы
вы должны увидеть: 1- Аргументы переданы при запуске 2- переменные окружения
внутри (2-переменных среды) место Имя: NSZombieEnabled
Значение: ДА
И это сделано ....
NSZombieEnabled используется для отладки BAD_ACCESS,
включите переменную окружения NSZombiesEnabled из листа схем Xcode.
Click on Product⇒Edit Scheme to open the sheet and set the Enable Zombie Objects check box
это видео поможет вам увидеть, что я пытаюсь сказать.