Guard Malloc мгновенно обнаружил ошибку EXC_BAD_ACCESS. Почему бы не использовать все время?

Я отлаживаю печально известную ошибку EXC_BAD_ACCESS уже несколько дней. NSZombieEnabled = YES ничего не предлагал. Стек вызовов менялся каждый раз, когда я получал ошибку, что происходило каждые 5 или 6 запусков.

Я видел совет по включению защиты malloc (который теперь находится в редакторе схем для Xcode 4) на веб-сайте Лу Франко: Общие сведения о EXC_BAD_ACCESS . Как только я это сделал, моя программа остановилась именно на той строке, которая вызвала эту неуловимую ошибку.

Согласно описанию, guard malloc создает отдельные страницы для каждого malloc и удаляет всю страницу при освобождении памяти, что приводит к сбою программы при обращении к освобожденной памяти. Для общего развития, почему бы мне просто не держать постоянно включенным охранный malloc? Кажется, он легко отлавливает определенные типы ошибок памяти. Если я не тестирую конкретно управление памятью или производительность, есть ли недостатки в его использовании?

6
задан brodney 18 March 2011 в 23:05
поделиться