记一次iOS闪退问题的定位:NSLog闪退
发布日期:2021-06-30 19:35:20
浏览次数:3
分类:技术文章
本文共 2234 字,大约阅读时间需要 7 分钟。
问题定位
记一次iOS
闪退问题的定位,同事接了极光SDK
,调用setAlias
接口的时候闪退了,通过爱思助手拿到日志如下
Jul 17 10:17:48 iPhone12 inhouse[7514]: [Bugly] Fatal signal(11) raised.Jul 17 10:17:48 iPhone12 inhouse[7514] : [Bugly] Trapped fatal signal 'SIGSEGV(11)' ( "0 libobjc.A.dylib 0x0000000198bff6b0 objc_msgSend + 16", "1 libsystem_trace.dylib 0x0000000199605438 0x00000001995fe000 + 29752", "2 libsystem_trace.dylib 0x00496a819960bdf4 0x00000001995fe000 + 20664771288292852", "3 libsystem_trace.dylib 0x005948819960e3f8 0x00000001995fe000 + 25130987520328696", "4 CoreFoundation 0x0054fe81999cf5dc 0x00000001998c2000 + 23923723754067420", "5 CoreFoundation 0x0040e981999cf510 _CFLogvEx3 + 18271134474567812", "6 Foundation 0x000dc7019a462f54 0x000000019a341000 + 3877977512353620", "7 Foundation 0x0065bc019a462f94 NSLog + 28635680833798184", "8 inhouse 0x003e3f8105838fc8 0x000000010454c000 + 17521267564269512", "9 inhouse 0x00000001049a6260 0x000000010454c000 + 4563552", "10 inhouse 0x0000000104<\M-b\M^@\M-&>
看崩溃日志是执行NSLog
的时候出问题了。
Objective-C
代码,如下 extern "C" void JPuishSetAlias(int sequence, const char* alias){ NSLog(@"JPuishSetAlias, alias: %@", alias); NSString *nsAlias = [NSString stringWithCString:alias encoding:NSUTF8StringEncoding]; [JPUSHService setAlias:nsAlias completion:aliasOperationCompletion seq:(NSInteger)sequence];}
问题就处在那句NSLog
上,alias
是const char*
数据类型,格式化必须使用 %s
,不能使用%@
,否则会闪退。
补充
NSLog常用的几种输出
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];//常用类型的定义int i =10;BOOL isShow=TRUE;float f = 3.1415926;char a =120;NSString *name =@"Himi";//常用打印语句NSLog(@"字符串:%@",name);NSLog(@"字符:%c",a);NSLog(@"布尔值:%i",isShow);NSLog(@"整形:%i",i);NSLog(@"单精度浮点数: %f",f);NSLog(@"精度浮点数,且只保留两位小数:%.2f",f);NSLog(@"科学技术法:%e",f);NSLog(@"科学技术法(用最简短的方式):%g",f);NSLog(@"同时打印两个整数:i=%i,f=%f",i,f);[pool drain];
%@ 对象
%d, %i 整数
%u 无符整形
%f 浮点/双字
%x, %X 二进制整数
%o 八进制整数
%zu size_t
%p 指针
%e 浮点/双字 (科学计算)
%g 浮点/双字
%s C 字符串
%.*s Pascal字符串
%c 字符
%C unichar
%lld 64位长整数(long long)
%llu 无符64位长整数
%Lf 64位双字
%e 是实数,用科学计数法计的
转载地址:https://linxinfa.blog.csdn.net/article/details/107404529 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月19日 02时59分59秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Haar特征
2019-04-30
Python 之 histogram直方图
2019-04-30
Python 之 Scatter散点图
2019-04-30
Python实现决策树 Desision Tree & 可视化
2019-04-30
决策树 Decision tree
2019-04-30
nominal和ordinal & 数据处理中四种基本数据类型
2019-04-30
Python 实现 Cross-validation
2019-04-30
Grid SearchCV(网格搜索)& Python实现
2019-04-30
ROS相关知识
2019-04-30
单目深度估计 monodepth2模型 代码
2019-04-30
位图索引Bitmap indexes
2019-04-30
YOLO算法(二)—— Yolov2 & yolo9000
2019-04-30
YOLO算法(三)—— Yolov3 & Yolo系列网络优缺点
2019-04-30
Python的__future__模块
2019-04-30