Как настроить NSZombieEnabled в Xcode 4?

Как настроить NSZombieEnabled и CFZombieLevel для моего исполняемого файла в Xcode 4?

    7 Solutions collect form web for “Как настроить NSZombieEnabled в Xcode 4?”

    В Xcode 4.x нажмите

    R

    (или нажмите « Menubar > « Product > « Scheme > « Edit Scheme )

    выберите вкладку «Диагностика» и нажмите «Включить объекты зомби»:

    Нажмите «Включить объекты зомби».

    Это превращает выпущенные объекты в экземпляры NSZombie, которые печатают предупреждения консоли при повторном использовании. Это отладочная помощь, которая увеличивает использование памяти (ни один объект не выпущен), но улучшает отчет об ошибках.

    Типичным случаем является то, что вы перевыпускаете объект и не знаете, какой из них:

    • С зомби: -[UITableView release]: message sent to deallocated instance
    • Без зомби: EXC_BAD_ACCESS

    Этот параметр Xcode игнорируется при архивировании приложения для представления в App Store. Вам не нужно прикасаться к чему-либо перед тем, как отпустить свое приложение.

    Нажатие ⌥⌘R совпадает с выбором «Продукт»> «Выполнить», удерживая нажатой клавишу «Alt».
    Щелчок по флажку «Включить объекты зомби» аналогичен установке вручную «NSZombieEnabled = YES» в разделе «Переменные среды» вкладки «Аргументы».

    Ответ Яно – это самый простой способ найти его. Другой способ: если вы нажмете на панель выпадающего меню схемы -> изменить схему -> вкладку параметров, а затем добавьте NSZombieEnabled в столбец переменных среды и YES в столбце значений …

    Я считаю эту альтернативу более удобной:

    1. Нажмите кнопку «Выполнить выпадающую кнопку»,
    2. Из списка выберите Profile
    3. Программа «Инструменты» должна открыться там, где вы также можете выбрать Zombies
    4. Теперь вы можете взаимодействовать с вашим приложением и пытаться вызвать ошибку
    5. Как только произойдет ошибка, вы должны получить намек на то, когда ваш объект был выпущен и, следовательно, освобожден.

    Zombies

    Как только обнаружен зомби, вы получите аккуратный «Zombie Stack», который показывает вам, когда объект был задан, и где он был сохранен или выпущен:

     Event Type RefCt Responsible Caller Malloc 1 -[MyViewController loadData:] Retain 2 -[MyDataManager initWithBaseURL:] Release 1 -[MyDataManager initWithBaseURL:] Release 0 -[MyViewController loadData:] Zombie -1 -[MyService prepareURLReuqest] 

    Преимущества по сравнению с использованием диагностической вкладки схем Xcode :

    1. Если вы забыли снять флажок на вкладке диагностики, в памяти не будет выделено никаких объектов.

    2. Вы получаете более подробный стек, который показывает вам, в каких методах ваш коррумпированный объект был выделен / выпущен или сохранен.

    В Xcode 4.2

    • Название проекта / Изменить схему / Диагностика /
    • Включить объекты Zombie Objects
    • Вы закончили

    On In Xcode 7

    <

    или выберите « Edit Scheme из Product > « Scheme

    выберите « Enable Zombie Objects на вкладке « Diagnostics »

    Значок зодиака xcode 7

    В качестве альтернативы, если вы предпочитаете файлы .xcconfig вы можете прочитать эту статью https://therealbnut.wordpress.com/2012/01/01/setting-xcode-4-0-environment-variables-from-a-script/

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

    В Xcode> 4.3:

    Вы нажмете на панель выпадающего меню схемы -> изменить схему -> вкладку параметров, а затем добавьте NSZombieEnabled в столбец переменных среды и YES в столбце значений.

    Удачи !!!

    Interesting Posts

    Возможно ли определить местоположение файла при его запуске?

    Как я могу очистить установку MacPorts?

    .htaccess переписать для перенаправления корневого URL в подкаталог

    Предоставляет ли поддельный RAID преимущество перед программным RAID?

    Как я могу использовать китайский IME с макетом Dvorak?

    Обеспечивает ли источник питания столько энергии, сколько ему нужно?

    Настройка с 8.1 по 10: что-то случилось> Установке не удалось проверить ключ продукта

    Windows7: изменение ярлыка Backshift в проводнике назад?

    Почему std :: getline () пропускает ввод после форматированного извлечения?

    Изменение цветов круговой диаграммы

    Удаление большого количества файлов в Windows происходит медленно

    Удалите оборудование из списка «безопасно удалите оборудование» в Windows 7

    Какова цель config \ Software.log

    Подключитесь к Linux по имени, а не по IP

    Могу ли я «отключить» ключ Microsoft Office 2010 для установки на новый компьютер?

    Давайте будем гением компьютера.