2012-02-23 3 views
0

Когда я создаю свое приложение с любым уровнем оптимизации, отличным от -o0, приложение падает в какой-то момент из-за EXC_BAD_ACCESS. Я пытаюсь использовать все возможные уровни оптимизации (-o1/2/3/s), и все сбой приложения.iOS - сбой при использовании при использовании оптимизации

Компилятор LLVM 3.0.

Любая идея, почему это происходит? Это известная проблема?

ответ

1

В качестве возможной причины я бы указал на неинициализированные переменные. Различные настройки заставляют вещи перемещаться, а что-то «безопасное» в неоптимизированной сборке может содержать устаревший указатель в другом.

+0

Я также думал об этом, но трудно найти такую ​​переменную в большом приложении. Есть ли какой-либо автоматический инструмент, который может выполнить поиск для меня? –

+0

Вы можете попробовать -Wall, а затем разрешить все предупреждения. Если оптимизация включена, тогда ошибка предупреждения -Униминитизирована «Предупреждать, если автоматическая переменная используется без первоначальной инициализации или если переменная может быть сбита вызовом setjmp ...», см. Этот список для получения более подробной информации об этом. https://developer.apple.com/library/mac/#documentation/DeveloperTools/gcc-4.0.1/gcc/Warning-Options.html –

Смежные вопросы