文档章节

一个crash引发对版本管理备注重要性的思考

gdxz110
 gdxz110
发布于 2015/10/19 08:57
字数 765
阅读 114
收藏 0

    在某个风和日丽的晚上,查看友盟后台时,发现有个app crash发生率特别高。情况如图所示

    SIGSEGV crash一般是引用对象给回收为空,测试了一番,重现了bug,当app进入后台时,app就会挂在GPUImage 某个方法上,这个问题以前没出现过,然后最近手机又更新到ios9,xcode老提示一些莫名奇妙的错误,所以自然会认为是ios9系统的问题,但是这么必现而且常现的问题一定要解决啊,至少也得try catch,有个友好的展示,而不是直接挂掉。测试了其他机子发现跟ios9没关。。。因为其他系统一样出问题。。。

    不过这样也说明是代码层面的问题,问题定位到更准确的范围了。因为挂在GPUImage上,所以一直设断点追踪GPUImage上的对象,没啥结果。。毕竟大牛写的代码,在论坛上问了人,其他人用GPUImage也没遇到这个问题。

    放下这个问题,去做其他东西冷静下,晚上蹲坑的时候,有条线索闪过脑袋,以前没有这个问题,现在出现了,会不会是某个版本更新加了什么东西导致的呢?

    立马回去查看项目更新列表,还好没个版本更新我都备注了更新的功能跟做出的修改,虽然只是写主要的更新功能,但也能在一定程度定位问题。更新列表如图所示:

    

发现20151003之前的版本是木有这个bug的,但后面的版本都有,也就是这两个版本的更新出了问题代码,通过比较,发现加入了友盟统计的功能。然后去掉友盟统计就没有这个bug了。再去翻看友盟统计的文档,发现一句可疑又坑爹的话:

就是这个自动开启的后台统计功能,导致app 进入后台时挂掉,估计是友盟统计进入后台使用了跟GPUImage使用的某些对象一样,然后友盟使用完就释放了,导致GPUImage引用对象为空,最终app crash。

    一个bug引发的血案到此完结,得到的经验,

    1.开发文档要写全,友盟只写了对一般app没有影响,却不具体说明对具体某些类型会产生什么影响以及结果,这里对友盟提出不指名批评,负分滚粗。

    2.项目更新时的文案备注要尽量写清楚,无论大小功能代码的更新都应该尽量清晰,方便日后快速定位问题。

    3.多方面多维度思考问题,在一个方向转一段时间没有结果,就可以尝试休息下,换个状态跟心情再去思考问题,说不定思路就清晰了。

© 著作权归作者所有

共有 人打赏支持
gdxz110
粉丝 7
博文 71
码字总数 29757
作品 0
广州
程序员
私信 提问
android测试之monkey

本文转载自http://www.testwo.com/blog/6188 感谢本文的作者; 一、Monkey test简介 Android的SDK 里面,Monkey的tools是一个命令行工具,当连接Android设备时,只要在命令行里输入相应命令就...

yangiris
06/26
0
0
游戏开发性能优化经验总结

优化概论 说起游戏的优化,在游戏开发中经常分为这几步: 首先要确定游戏中经常会出现哪些问题 – Profile 然后确定在哪些方向进行性能优化 – Analyze 最后再尽可能将问题逐个解决 – Solv...

拉偶有所依
2015/05/11
857
0
阿里JAVA开发手册零度的思考理解(二)

简书 匠心零度 转载请注明原创出处,谢谢! 说在前面 人生的大道上默默地走,就必须要有一盏灯亮着为你引导方向!而这盏灯抑或只是一句话,一句鼓励,一个赞美,一次承认,一次认可,一次相识...

匠心零度
2017/11/04
0
0
阿里JAVA开发手册零度的思考理解(二)

转载请注明原创出处,谢谢! 说在前面 人生的大道上默默地走,就必须要有一盏灯亮着为你引导方向!而这盏灯抑或只是一句话,一句鼓励,一个赞美,一次承认,一次认可,一次相识一次交流…… ...

匠心零度
2017/11/04
0
0
讲述Sagit.Framework解决:双向引用导致的IOS内存泄漏(中)- IOS不为人知的Bug

前言: 话说昨晚还是前晚,写了一篇:讲述Sagit.Framework解决:双向引用导致的IOS内存泄漏(上) 文章写到最后时,多了很多莫名奇妙的问题!!! 为了解决了这些莫名奇妙的问题,我又战斗了...

路过秋天
01/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

node安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

笑丶笑
19分钟前
3
0
OSChina 周三乱弹 —— 夜半回家,推门不动

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @胖达panda :分享陶晶莹/张雨生的单曲《我期待》 《我期待》- 陶晶莹/张雨生 手机党少年们想听歌,请使劲儿戳(这里) @cc_z :熬夜一时爽,...

小小编辑
31分钟前
234
8
验证码

response生成验证码 验证码的作用:防止恶意注册、攻击等 网站上看到的验证码,实际上都是一些图片,而这些图片都是程序(Servlet)生成的! package day19.test; import java.awt.Color; i...

码农屌丝
今天
1
0
day147-2018-11-14-英语流利阅读-待学习

《毒液》刚刚上映,创造漫威宇宙的人却走了 雪梨 2018-11-14 1.今日导读 中国的金庸创造了侠义英雄和江湖传奇,而大洋彼岸的斯坦·李也同样创造了一个绚烂璀璨的漫威宇宙,他构思的每个超级英...

飞鱼说编程
今天
13
0
CentOS 安装PHP5和PHP7

安装PHP5 下载解压二进制包 [root@test-a src]# cd /usr/local/src/[root@test-a src]# wget http://cn2.php.net/distributions/php-5.6.32.tar.bz2[root@test-a src]# tar jxvf php-5.6......

野雪球
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部