使用参数生成 NSString 时在发布模式下崩溃
Crash in Release Mode while generating NSString with arguments
我写了日志助手 class,它有几个日志函数。在 DEBUG 模式下一切正常。但是当我 运行 我的代码处于发布模式时它崩溃了。下面是代码片段:
+ (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];
}
创建格式化消息应用程序时出现崩溃并出现以下异常:
如果我设置
Build Setting->optimization level to NONE
在发布模式下一切顺利。任何将优化级别修复为
的想法
Fastest-Smallest
处于发布模式
你好像打电话 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);
}
我写了日志助手 class,它有几个日志函数。在 DEBUG 模式下一切正常。但是当我 运行 我的代码处于发布模式时它崩溃了。下面是代码片段:
+ (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];
}
创建格式化消息应用程序时出现崩溃并出现以下异常:
如果我设置
Build Setting->optimization level to NONE
在发布模式下一切顺利。任何将优化级别修复为
的想法Fastest-Smallest
处于发布模式
你好像打电话 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);
}