Как включить NSZombie в инструментах Xcode 4.1 под Lion?

Это касается ТОЛЬКО нового Xcode 4.1, специально работающего на Lion. Как включить NSZombie в инструментах? Это больше не в Распределениях в значке (i) под Конфигурацией Запуска как в Xcode 4.0. Также нет записи в Библиотеке под названием Зомби.

Конечно, проблема в том, что я не могу вернуться к Xcode 4.0, потому что он отказывается работать под Lion, так что я в затруднении! Любые другие передовые разработчики, использующие Lion, которые, имея больше опыта, чем я, могут помочь разобраться? Благодарю. -Ric

3 ответа

Решение

Я получил этот очень полезный ответ от Apple относительно моего собственного вопроса. Дословно -

Я: Есть ли обновление о том, как найти эти жестко освобожденные объекты, тестирование на устройстве, используя Xcode 4.1.1 и / или инструменты?

APPLE: Во-первых, взлом, показанный выше [на форуме Apple], устарел из-за внутренних изменений в ОС, а именно, установка Zombie теперь выполняется CF. Вы можете включить зомби, используя код, показанный ниже:

extern void _CFEnableZombies (void);

int main (int argc, char ** argv) {_CFEnableZombies ();

... rest of your main ...

}

ВАЖНО: функция _CFEnableZombies является закрытой, так что вы даже не думаете о внедрении этого кода в производственное приложение. Однако это не секрет; Вы можете увидеть, как это реализовано, заглянув в дарвинский исходный код Lion.

http://www.opensource.apple.com/source/CF/CF-635/CFRuntime.c

Если вы сделаете это, ваше приложение остановится (за исключением точки останова), когда вы отправите сообщение зомби, независимо от того, как вы его запустили. Таким образом, вы можете запустить его в Инструментах с инструментом Распределения и получить как обнаружение зомби, так и отслеживание распределения.

Обратите внимание, что когда сообщается о зомби, система печатает что-то вроде этого:

*** - []: сообщение отправлено освобожденному экземпляру "

Это не появляется в области консоли инструментов; вам нужно будет использовать Xcode Organizer (или iPCU) для его просмотра.

Поделитесь и наслаждайтесь

Куинн "Эскимос!" Отношения с разработчиками Apple, Техническая поддержка разработчиков, ОС ядра и оборудование

Я: надеюсь, что это полезная информация для некоторых из вас в этой ситуации.

Это отличный инструмент:

Зомби как отдельный инструмент

Существует еще один способ запуска с NSZombie на устройстве, но это делается с помощью XCode 4, а не инструментов.

Для запуска с NSZombie на устройстве откройте ваш проект XCode и нажмите на верхний пункт меню "Product", затем удерживайте alt и нажмите "Run", это откроет отдельное окно, где вы увидите "Переменные среды" в нижней части окна., Нажмите "+" и введите "NSZombieEnabled" для имени и "YES" для значения.

Другие вопросы по тегам