Запуск приложения с диагностикой
Во время теста и фаз отладки Вашей разработки продукта, сконфигурируйте схему запустить Ваше приложение с различной диагностикой управления памятью, и опции журналирования включили. Схемы имеют действие Выполнения с областью Diagnostics, позволяющей Вам выбирать из выбора инструментов диагностики во время выполнения.
Из меню панели инструментов Scheme выберите схему.
Из того же меню выберите Edit Scheme для отображения диалогового окна схемы.
В левом столбце выберите Run.
Для указания диагностики во время выполнения щелкните по вкладке Diagnostics.
Нажмите Close.
Щелкните по Кнопке запуска или выберите Product> Run.
Выберите инструменты, которые Вы хотите, чтобы XCode использовал. Можно просмотреть вывод от этих инструментов в консоли области отладки, и в отладке входят в систему навигатор журнала.
Опции управления памятью:
Включите Scribble. Заполните выделенную память
0xAA
и освобожденная память с0x55
.Включите Защитные Края. Добавьте защитные страницы прежде и после больших выделений.
Включите защите Malloc. Использовать
libgmalloc
поймать проблемы общей памяти, такие как переполнение буфера и использование-после-свободного.Включите Объекты Зомби. Замените освобожденные объекты объектом «зомби», захватывающим любую попытку использовать его. При отправке сообщения в объект зомби время выполнения регистрирует ошибку и катастрофические отказы. Можно смотреть на след для наблюдения цепочки вызовов, инициировавших детектор зомби.
Журналирование опций:
Распределенные Объекты. Позвольте регистрировать для распределенных объектов (
NSConnection
,NSInvocation
,NSDistantObject
, иNSConcretePortCoder
).Штабель Malloc. Рекордный штабель регистрирует для выделений памяти и освобождения.
Зарегистрируйте использование API DYLD. Зарегистрируйте вызовы API динамического компоновщика (например,
dlopen
).Загрузки Библиотеки журнала. Зарегистрируйте загрузки библиотеки динамического компоновщика.
Параметры отладчика:
Остановитесь на Отладчике () и DebugStr (). Подпрограммы Enable Core Services, вводящие отладчик с сообщением. Эти подпрограммы отправляют сигнал SIGINT в текущий процесс.