记一次iOS闪退问题的定位:NSLog闪退
问题定位
记一次iOS
闪退问题的定位,同事接了极光SDK
,调用setAlias
接口的时候闪退了,通过爱思助手拿到日志如下
Jul 17 10:17:48 iPhone12 inhouse[7514] <Notice>: [Bugly] Fatal signal(11) raised.Jul 17 10:17:48 iPhone12 inhouse[7514] <Notice>: [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 是实数,用科学计数法计的
记一次iOS闪退问题的定位:NSLog闪退相关推荐
- iOS端(腾讯Bugly)闪退异常上报扑获日志集成与使用指南
app已经上架并且有三次更新版本,今天市场部和顾客约谈时,发现顾客的iphone 6 plus iOS 9.0.2上运行app点击登录按钮时直接闪退,无法进入app里,这个问题还是第一次遇到,我下载了 ...
- 苹果上传闪退 php,苹果手机app频繁闪退原因以及解决方法
就算再流畅的ios系统,再好的iPhone手机,用久了都会遇到一个这样子的问题,就是闪退的问题,而且APP闪退占据多数.那该怎么修复呢?闪电修告诉你原因和搞定的步骤. 闪电修上门维修手机 我们先了解下 ...
- 小汪汪服务器不稳定,小汪汪闪退了怎么办 小汪汪闪退问题解决办法
我们在玩<小汪汪>游戏的时候,可能会遇到这样的问题:玩着玩着小汪汪闪退了,小汪汪闪退问题有哪些?小汪汪闪退怎么解决?下面小编就为遇到这些问题的玩家分析一下小汪汪闪退问题解决办法,还在为闪退 ...
- 刺激战场android闪退,绝地求生刺激战场闪退怎么办 游戏闪退解决办法一览
绝地求生刺激战场如果遇到闪退怎么办,闪退之后有哪些解决办法呢,官方给出了以下的闪退问题说明及解决办法,大家可以参考下. 推荐阅读[绝地求生刺激战场第一人称视角怎么选择 第一人称视角切换设置说明] 近期 ...
- 一次UNITY闪退问题的定位心得
一次UNITY闪退问题的定位心得 最近项目测试发现,运行unity后不退出运行模式,玩了一局后点击 "再来一局",反复十几局后unity崩掉. 经观察,发现在这十几局的过程中,un ...
- 电脑用计算机软件一直闪退,电脑软件打开后闪退或崩溃怎么办
电脑软件打开后闪退或崩溃怎么办 脑闪退的因素很多,除了跟用户自身操作失误有关外,也和电脑软硬件有很大关系,例如病毒.木马程序的破坏,使用了测试版和盗版软件,软件本身存在bug,软件和系统版本不兼容,驱 ...
- 刺激战场android闪退,刺激战场总是闪退怎么办?刺激战场闪退解决办法
刺激战场总是闪退怎么办?刺激战场闪退解决办法 2018-09-05 17:00:01 刺激战场在推出之后,成为手机上最火热的游戏之一,但是有玩家在下载游戏之后运行,会闪退,进入不了游戏,这是怎么回事呢 ...
- 记一次ios内购开发中踩的坑
记一次ios内购开发中踩的坑 前段时间好不容易把APP中的非续期内购上架成功了,过程也是一波三折,各种问题,但最终还是内购审核通过了 通过后我以为就没问题了,但第二天打开xcode运行应用后,准备验证 ...
- epic打开一直闪_教你用意派Epub360做酷炫的快闪H5!(附快闪H5模板)
近来,抖音国际版Tik Tok一直深陷舆论漩涡,引起了吃瓜群众们的热烈讨论.作为短视频中的佼佼者,抖音带火了一大波网络红人.土味视频,也为快闪等创意视频的发展提供了一方沃土.而随着快闪视频的普及,快闪 ...
最新文章
- 二叉查找树(二)之 C++的实现
- Tree前序反序列化
- 开发Eclipse插件
- 写给大数据开发初学者的话4
- php实现多重继承,PHP5 多重继承DEMO方法
- php mysql查询中文乱码_解决php mysql查询插入中文乱码问题_PHP教程
- SD-WAN(软件定义WAN)
- web前端实战小游戏两则(附源码)
- docker安装tomcat8
- mac大小写切换快捷键,程序猿向
- C语言中pow函数的使用
- WinXP如何自动清理Temp文件夹
- 微信公众号登录和获得access_token和发送模板消息
- 支付宝服务商模式支付
- Matlab中的clc、clear、clear all、clf、close、close all解释
- keystone变换
- 网易云音乐不能加载音乐 解决办法
- 读书笔记-精准努力-自信与自卑
- DTRO膜在危废处理中的应用
- InnoDB的全文索引
热门文章
- 上海交通大学python实验二_20183215 实验二《Python程序设计》实验报告
- 来到新公司感想与学习。
- 聚乳酸改性乳清白蛋白/肌白蛋白/豆清白蛋白/蓖麻蛋白/豌豆白蛋白1b ( PA1b)|蛋白偶联修饰
- Leetcode(1110)——删点成林
- java 编写 欢迎你_Java第三章 P72 输出”欢迎你,青“ 否则输出”对不起,你不是青“...
- 2019蓝桥杯B组C++省赛题目及感受
- 不小心删除了文件能恢复吗 误删除文件怎么找回
- 数字集成电路:电路系统与设计
- 如何管理越来越多的 operator?OLM 给你答案
- 【数据结构】图解七大排序