(Xcode5) Это не совсем прямой ответ на первоначальный вопрос, но я думаю, что это может быть актуально, и я не хотел бы думать, что кто-то еще тратит впустую часы, когда я его выследил. У меня была проблема, что в окне отладки не отображались значения переменных.
Я проверил вызов, который фактически был передан компилятору, и обнаружил, что он оптимизируется с помощью -Os, несмотря на то, что для каждого проекта и цели в рабочей области явно задано значение -O0, а все настройки, упомянутые в других ответах устанавливается на отладку. После долгих поисков я обнаружил, что в разделе «Информация» каждого проекта есть опция «Использовать xxx для сборок из командной строки», где xxx - «Отладка / Выпуск» или любые доступные конфигурации. Согласно описанию всплывающей подсказки, эта опция должна влиять только на сборки, выполненные через командную строку с помощью инструмента xcodebuild (что немного странно, потому что этот инструмент вполне способен выбрать, какую схему использовать в качестве опции командной строки). В любом случае, изменение этой опции на Debug, наконец, позволило IDE сообщить компилятору, что я хочу -O0 и -g. Я не помню, чтобы это когда-либо происходило с Xcode4, с той же рабочей областью.
Я также должен добавить, что вы можете выполнить очистку перед изменением этого параметра. Я изменил его без очистки, и вдруг некоторые из моих заголовочных файлов не были найдены (казалось, что предварительно скомпилированные заголовки не были сгенерированы правильно). Примерно через час или около того, нанеся удар в темноте, я обнаружил, что если я сначала вернул вышеупомянутую опцию обратно на Освобождение и выполнил очистку, то мог бы установить ее на Отладку и выполнить успешную сборку.
Кто-нибудь знает, действительно ли команда разработчиков Xcode использует это самостоятельно? У меня сложилось четкое впечатление, что они этого не делают.