Сбой в режиме выпуска при генерации строки NSString с аргументами
Я написал вспомогательный класс Log, который имеет несколько функций Log. Все работает хорошо в режиме отладки. Но когда я запускаю мой код в режиме релиза, он падает. Ниже приведен фрагмент кода:
+ (void)info:(NSString *)format, ...
{
va_list args;
va_start(args, format);
va_end(args);
NSString *formatedMessage = [[NSString alloc] initWithFormat:[NSString stringWithFormat:@"INFO %@",format] arguments:args];
}
При создании приложения formatedMessage происходит сбой с нижеуказанным исключением:
Если я установлю
Настройка сборки-> уровень оптимизации НЕТ
в режиме Release все работает плавно. Любую идею исправить с помощью уровня оптимизации
Самый быстрый, самый маленький
в режиме релиза
1 ответ
Решение
Вы, кажется, звоните va_end
слишком рано Пытаться:
+ (void)info:(NSString *)format, ...
{
va_list args;
va_start(args, format);
NSString *formatedMessage = [[NSString alloc] initWithFormat:[NSString stringWithFormat:@"INFO %@",format] arguments:args];
va_end(args);
}