作者 | 王晓晖、邓竹立、朴惠姝
信号类型 |
信号解释 |
SIGSEGV |
无效的内存地址引用信号,试图访问未分配给自己的内存, 或试图往没有写权限的内存地址写数据。 |
SIGILL |
执行了非法指令,通常是因为可执行文件本身出现错误, 或者试图执行数据段. 堆栈溢出时也有可能产生这个信号。 |
SIGABRT |
通常由于异常引起的中断信号,异常发生时系统会调用abort()函数发出该信号。 |
SIGBUS |
非法地址, 包括内存地址对齐(alignment)出错。与SIGSEGV的区别在于后者是由于对合法存储地址的非法访问触发的(如访问不属于自己存储空间或只读存储空间)。 |
SIGKILL |
用来立即结束程序的运行,该信号不能被阻塞、处理和忽略。 |
在iOS11.0到iOS11.2以前系统手机在前台收到推送后进入后台被杀死或可能会在前台杀死。
开启任务后做了大量耗时操作无法任务结束。
系统挂起beginBackgroundTask方法回调中没有关闭后台任务或添加两次或两次以上的回调无法一对一关闭后台任务。
开启任务后在到期事件处理的回调中开启子线程进行大量耗时操作等等。
对App的影响范围
OpenUDID的使用现状调研
SDK |
OpenUDID类名 |
是否修改了 |
启动注册是否调用 |
滴滴打车 |
DIOpenUDID |
否 |
否 |
讯飞 |
IFlyOpenUDID |
否 |
否 |
微博 |
WBSDKOpenUDID |
是(只修改了私有剪贴板标识,还是会访问100次剪贴板) |
否(但初始时会触发一次剪贴板的调用) |
支付宝 |
UTDIDOpenUDID |
是(仅在App首次启动时会触发100次访问剪贴板的逻辑) |
否 |
微信 |
WXOMTAOpenUDID |
是(不会触发100次访问剪贴板逻辑) |
否(但初始化时会触发一次剪贴板的调用) |
头条广告 |
BUOpenUDID |
是(不会触发100次访问剪贴板逻辑) |
否 |
百度地图 |
-- |
-- |
-- |
ZBar |
-- |
-- |
-- |
听云 |
-- |
-- |
-- |
《信号 (LINUX信号机制)》:https://baike.baidu.com/item/%E4%BF%A1%E5%8F%B7/7927794?fr=aladdin
《iOS开发socket程序被SIGPIPE信号Terminate的问题》https://blog.51cto.com/arthurchen/736181
OpenUDID源码地址:https://github.com/ylechelle/OpenUDID
《58crash日志解析方案介绍》:https://www.jianshu.com/p/70985e61f9c5
热 文 推 荐
☞12306 回应软件崩了;微信发布新版本,朋友圈可“斗图”;Ant Design 3.26.4 发布 | 极客头条
☞滴滴开源在2019:十大重点项目盘点,DoKit客户端研发助手首破1万Star
点击阅读原文,即刻参加!