Может кто-нибудь объяснить, что делают эти опции в Xcode?
- Включить Scribble
- Включить защитные края
- Включить Guard Malloc
что это такое и что они делают, и насколько они полезны для отладки/тестирования?
спасибо.
Может кто-нибудь объяснить, что делают эти опции в Xcode?
что это такое и что они делают, и насколько они полезны для отладки/тестирования?
спасибо.
Из documentation.
Scribble сделает довольно очевидным, что вы используете блок памяти после его освобождения, перезаписывая любые данные, которые раньше были в блоке памяти, после бесплатного.
Защитные края и Guard Malloc помогут вам найти переполнения памяти и (в какой-то мере) использование послезаботки, защищая блоки памяти для чтения и записи, чтобы сделать вашу программу более явной, если неправильно использовать память.
Ссылка "документация" выше относится к Xcode в целом, но более конкретно RN-MallocOptions подробно описывает эти (и другие) параметры.
Джим Кубичек показывает хороший пример в Отладка разбитой памяти в Obj-C, включая важный "Как включить их в Xcode?" Вопрос:
Откройте окно "Редактировать схему" и перейдите на вкладку "Диагностика". Youll хочет включить "Включить Scribble" и "Malloc Stack".... короче говоря, "Enabled Scribble" заставит распределителя записать 0xAA на вновь выделенную память и записать 0x55 в освобожденную память. "Malloc Stack" будет регистрировать распределение и бесплатную историю вашей памяти.
Если вы зачитали это далеко, вы, вероятно, будете заинтересованы в Apple Техническая нота TN2239 iOS Debugging Magic или Техническая нота TN2124Mac OS X Отладка Magic.