У меня есть приложение, которое падает без отслеживания ошибок. Я могу видеть часть того, что происходит, если я отлаживаю, но не могу понять, какой объект "зомбируется".
Кто-нибудь знает, как включить NSZombie в Xcode 4?
Переменные среды теперь являются частью "схемы".
Чтобы отредактировать схему и включить зомби:
В меню «Продукт» выберите «Редактировать схему».
Перейдите к этапу «Запустить Foo.app» на левой панели и к вкладке «Аргументы» справа.
Добавьте NSZombieEnabled
к разделу «Переменные среды» и установите значение YES
, как вы могли бы в Xcode 3.
В Xcode 4.1 и выше , также есть флажок на вкладке «Диагностика» стадии «Выполнить», чтобы «Включить объекты зомби».
С Xcode 6.4:
Я столкнулся с той же проблемой, связанной с устранением неполадок EXC_BAD_ACCESS, и мне было трудно найти настройку с помощью Xcode 4.2 (последняя версия, поставляемая с iOS5 SDK). Apple продолжает двигаться, и настройки уже не там, где раньше.
К счастью, я нашел его, и он работает для устройства, а не только для симулятора. Вам нужно открыть меню «Продукт» в XCode, выбрать «Редактировать схему», а затем выбрать вкладку «Диагностика». Там у вас есть «Включить объекты зомби». После того, как выбран и запущен в отладчике, вы укажете на двойной объект! Наслаждайтесь!
Коротко
источник
Product> Profile запустит Instruments, а затем у вас должен появиться «Шаблон трассировки» с именем «Zombies». Однако этот шаблон трассировки доступен только в том случае, если текущим местом назначения сборки является симулятор - он не будет доступен, если в качестве места назначения установлено устройство iOS.
Также следует отметить, что в библиотеке инструментов нет актуального инструмента Zombies. Шаблон трассировки зомби на самом деле состоит из инструмента Распределения с набором конфигурации запуска «Включить обнаружение NSZombie».
источник
Это просто - установить переменную окружения в вашем исполняемом файле
(NSZombieEnabled = YES)
, а затем запустить / отладить ваше приложение как обычно. Если вы отправите сообщение зомби, ваше приложение будет аварийно завершено или прекратит работу отладчика иNSLog
сообщения для вас.Для получения дополнительной информации, проверьте эту страницу CocoaDev: http://www.cocoadev.com/index.pl?NSZombieEnabled
Кроме того, этот процесс станет намного проще с выпуском 10.6 и следующими версиями Xcode и Instruments. Просто говорю'. знак равно
источник
Продукт> Профиль появится во всплывающих окнах. Выберите зомби на панели и сходите с ума.
источник
Перейти к продукту - схема - редактировать схему - аргументы - переменные среды установлены NSZombieEnabled = YES
источник
В xcode 4.2
Перейти к, Продукт -> Редактировать схему -> нажмите Запустить yourappname.app -> Диагоности -> Включить объект Zombie.
источник
Вот видео и объяснение, как использовать 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
. Это позволяет вам видеть конкретные объекты и их количество на временной шкале.источник
В Xcode 4.5.2 перейдите в Product -> Edit Scheme -> и на вкладке Diagnostics установите флажок между Objective C и Enable Zombie Objects и нажмите OK
источник
Чтобы включить ведение журнала Zombie, дважды щелкните исполняемый файл в группе исполняемых файлов вашего проекта XCode. В этот момент перейдите на вкладку Аргументы и в
Variables to be set in the environment:
разделе создайте переменную с именемNSZombieEnabled
и установите для нее значениеYES
.источник
В XCode 4.0: для обнаружения NSZombie в инструментах выберите симулятор в качестве цели (не удается обнаружить NSZomboe на устройстве). Запустите инструменты (CMD + I) и выберите шаблон трассировки «Зомби». Наслаждаться.
источник
В настройках вашего исполняемого файла добавьте переменную окружения
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
это видео поможет вам увидеть, что я пытаюсь сказать.
источник