Нахождение сообщений, отправленных в освобожденные объекты

Сочтите сообщения отправленными в освобожденные объекты с помощью шаблона Zombies в Инструментах. Сообщение, отправленное в освобожденный объект (зомби), может заставить Ваше приложение отказывать.

bullet
Найти сообщения отправило к освобожденным объектам
  1. Откройте свой проект в XCode. При большинстве обстоятельств у Вас будут лучшие результаты, находящие сообщения отправленный Зомби при открытии приложения и Инструментов из XCode.

  2. Кнопка запуска имеет четыре опции. Удержите Кнопку запуска, пока меню не появляется, и выберите Profile.

    ../Art/xcode_profile_menu_2x.png
  3. Окно шаблона Instruments появляется. Выберите шаблон Zombies.

    ../Art/instruments_zombies_instrument_template_2x.png
  4. Нажмите Кнопку записи и осуществите свое приложение, пока не появится Зомби Переданное диалоговое окно.

  5. Щелкните по кнопке фокусировки направо от текста сообщения в диалоговом окне.

    ../Art/instruments_zombie_flag_2x.png
  6. Откройте Расширенного Подробного инспектора в области боковой панели и дважды щелкните по записи Зомби в конечном счете столбец Type объектной таблицы истории.

  7. Дважды щелкните по ответственной вызывающей стороне в разделе Stack Trace Расширенного Подробного инспектора для отображения ответственного кода.

Шаблон Instruments Zombies открывает инструмент Выделений и также вносит существенное изменение в Вашу среду. Шаблон Zombies включает переменную среды отладки NSZombieEnabled=YES который заставляет все объекты Objective C быть превращенными в объекты зомби вместо того, чтобы быть освобожденным после завершения их -dealloc метод. Это заменяет объектом типа NSZombie для объектов, выпущенных к подсчету ссылок нуля. Это приводит к большому росту постоянной памяти при выполнении с этим шаблоном.

Когда NSZombie объект передается, Зомби, Переданное диалоговое окно появляется. При щелчке по кнопке фокусировки направо от сообщения в Зомби Переданное диалоговое окно выводит на экран полную историю памяти сверхвыпущенного объекта.

Обратите внимание на то, что у Зомби Переданное диалоговое окно есть точка наверху, выровненный с фиолетовым треугольником во временной шкале. Если Зомби, Переданное диалоговое окно больше не видимо и Вы хотите видеть его снова, щелкните по фиолетовому треугольнику.