Как мне установить NSZombieEnabled
и CFZombieLevel
для моего исполняемого файла в Xcode 4?
objective-c
xcode
xcode4
nszombie
Четан
источник
источник
Ответы:
В Xcode 4.x нажмите
⌥⌘R
(или нажмите
Menubar
>Product
>Scheme
>Edit Scheme
)выберите вкладку «Диагностика» и нажмите «Включить объекты зомби»:
Это превращает освобожденные объекты в экземпляры NSZombie, которые печатают предупреждения консоли при повторном использовании. Это средство отладки, которое увеличивает использование памяти (на самом деле ни один объект не освобожден), но улучшает отчеты об ошибках.
Типичный случай, когда вы перепроизводите объект и не знаете какой:
-[UITableView release]: message sent to deallocated instance
Этот параметр XCode игнорируется, когда вы архивируете приложение для отправки в App Store. Вам не нужно ничего трогать перед выпуском приложения.
Нажатие ⌥⌘Rаналогично выбору «Продукт»> «Выполнить», удерживая Altклавишу нажатой.
Установка флажка «Включить объекты-зомби» аналогична добавлению «NSZombieEnabled = YES» вручную в разделе «Переменные среды» на вкладке «Аргументы».
источник
CMD-<
(CMD-SHIFT-comma
), илиProduct -> Scheme -> Edit SCheme...
Ответ Яно - самый простой способ найти его. Другой способ - щелкнуть раскрывающийся список схем -> изменить схему -> вкладку аргументов, а затем добавить NSZombieEnabled в столбце «Переменные среды» и YES в столбце значений ...
источник
Я считаю эту альтернативу более удобной:
Profile
Zombies
Как только зомби обнаружен, вы получаете аккуратный «стек зомби», который показывает вам, когда данный объект был выделен и где он был сохранен или выпущен:
Преимущества по сравнению с использованием диагностической вкладки Схем Xcode :
Если вы забудете снять флажок на вкладке «Диагностика», никакие объекты не будут освобождены из памяти.
Вы получаете более подробный стек, который показывает вам, какими методами ваш поврежденный объект был выделен / освобожден или сохранен.
источник
iOS Simulator > All
из основного списка шаблонов (Вы можете сделать это только в симуляторе)В Xcode 4.2
источник
Вкл в Xcode 7
⌘<
или выберите
Edit Scheme
изProduct
>Scheme
менювыберите
Enable Zombie Objects
форму наDiagnostics
вкладкеВ качестве альтернативы, если вы предпочитаете
.xcconfig
файлы, вы можете прочитать эту статью https://therealbnut.wordpress.com/2012/01/01/setting-xcode-4-0-environment-variables-from-a-script/источник
Какао предлагает классную функцию, которая значительно расширяет ваши возможности для отладки таких ситуаций. Это переменная окружения, которая называется NSZombieEnabled, посмотрите это видео , объясняющее настройку NSZombieEnabled в target-C.
источник
В Xcode> 4.3:
Вы щелкаете по раскрывающейся панели схемы -> изменить схему -> вкладку аргументов, а затем добавляете NSZombieEnabled в столбец Переменные среды и YES в столбец значения.
Удачи !!!
источник