Как я объявляю отладку только оператор

В C# я могу использовать следующий код, чтобы иметь код, который только выполняется во время отладочной сборки, как я могу сделать то же в XCode?

#if DEBUG
{
    // etc etc
}
#endif
38
задан omid 21 July 2019 в 09:20
поделиться

3 ответа

Символ NDEBUG уже должен быть определен для Вас в сборках режима выпуска

#ifndef NDEBUG
/* Debug only code */    
#endif 

При помощи NDEBUG, Вы просто избегаете необходимости указывать аргумент ОТЛАДКИ-D компилятору сами для сборок отладки

44
ответ дан ShuggyCoUk 27 November 2019 в 03:03
поделиться

Можно использовать

#ifdef DEBUG
    ....
#endif

, необходимо будет добавить DEBUG=1 к определениям символа препроцессора проекта в настройках Настройки отладочного процесса, поскольку это не сделано для Вас автоматически XCode.

я лично предпочитаю делать DEBUG=1 по проверке NDEBUG=0, так как последний подразумевает, что конфигурация сборки по умолчанию с отладочной информацией, которую затем необходимо явно выключить, тогда как 'DEBUG=1' подразумевает включение , отладка только кодирует.

66
ответ дан Alnitak 27 November 2019 в 03:03
поделиться

Существует очень полезная отладка technote: Mac OS X TN2124 Технического примечания, Отлаживающий Волшебство http://developer.apple.com/technotes/tn2004/tn2124.html#SECENV , который содержит много полезного материала для отладки Ваших приложений.

Tony

5
ответ дан AnthonyLambert 27 November 2019 в 03:03
поделиться