应用系统Bugly崩溃分析_第1页
应用系统Bugly崩溃分析_第2页
应用系统Bugly崩溃分析_第3页
应用系统Bugly崩溃分析_第4页
应用系统Bugly崩溃分析_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、应用系统Bugly崩溃分析产品介绍腾讯Bugly()Crash、ANR、卡顿等异常监控内测分发服务、应用更新SDK、热补 丁SDK腾讯优测()自动化测试云真机租用、云真机调试、崩溃捕获原理怀疑崩溃是否真的发生?误报?漏报?JAVA崩溃捕获方式注册异常处器:Thread. setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler)线程旦崩溃,异常处理器的方法被调用:Thread.UncaughtExceptionHandler.uncaughtException(Thread t, Throwable e)uncaugh

2、tException方法中实现Java异常的捕获及上报系统的默认处理崩溃背后的处理Pthread_Create(,interpThreadStart);创建dvmDetachCurrentThread()VM Thread结束后PThreadVM ThreadJava.lang.Thread.run()XXX当前执行的方法interpThreadStart()XXXdvmcallMethod(self,run.)Native栈Java 栈Pthread栈UncaughtExceptionHandler_defaultHandlerPending Exception: java.lang.Thr

3、owable崩溃发生threadExitUncaughtException (Thread*,jThrowable)发现Pending ExceptionJNI回调NATIVE崩溃捕获方式注册信号处理函数int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);struct sigaction /异常处理就在这些方法里void (*sa_handler)(int);void (*sa_sigaction)(int, siginfo_t *, void *);sigset_t sa_mask;

4、 int sa_flags;void (*sa_restorer)(void);信号的背后PThreadinterpThreadStart()XXX当前执行的方法Native栈struct sigaction * handlerPending Signal Array出错了,产生错误信号信号处理 函数回调注册信号 处理函数信号名信号值SIGILL4SIGSEGV11SIGBUS7SIGABRT6SIGSTKFLT16Bugly处理的错误信号豆目下异常捕获消耗资源大吗?NO,发生异常时才会被执行哦,且APP已经处千崩溃状态哦!存在误报吗?NO,异常与否是由系统API直接回调,不存在Bugly误判

5、的空间!存在漏报吗?YES,不同类型的崩溃差异很大,有些崩溃发生时可能当前无法上报,只能等待第二次 启动上报(SIGABRT)二、BUGLY让你全面了解产品的质量Java Crash、C/C+ Crash、ANR个都不应该漏崩溃、CrashANR(无晌应)要等用户投诉才发现?要用户协助才能定位?平均设备Crash率3.0%3.5%平均设备Crash次数2.3次1.9次6.32%6.08%4.21%3.01%1.78%1千以下1千-1万1万-10万10万-100万大于100万不同DAU级别应用的平均崩溃率整体崩溃率崩溃率越低,用户越多!3.04%2.38%1.69%2.37%2.90%2.56%

6、3.46%8.95%3.87%3.26%2.04%1.61%2.44%4.32%3.29%3.23%3.78%4.06%4.11%7.57%实用工具生活娱乐购物时尚儿童亲子影音视听出行地图阅读学习聊天通讯办公商务游戏Android行业崩溃率iOS行业崩溃率行业细分崩溃率腾讯精品游戏平均CRASH率不到2%崩溃与机型相关2.70%2.40%1.90%1.80%2.40%3.10%2.00%2.60%3.00%2.30%小米M4红米Note华为荣耀6华为Mate7 三星Galaxy 三星Galaxy魅蓝 Note3S6魅族Notevivo X5Pro OPPO R7Android主流机型上的应用崩

7、溃率崩溃跟机型相关,适配问题依然严重48%的崩溃在启动阶段15%21%52%闪退 崩溃发生在启动后05秒启动阶段的崩溃 崩溃发生在启动后530秒 运行初期的崩溃 崩溃发生在启动后3060秒 运行时的崩溃 崩溃发生在启动后60秒后闪退问题,上线前跑下腾讯优测,就能避免带到 线上。12%TOP崩溃30%8%5%5% 5%47%java.lang.NullPointerExceptionjava.lang.ClassNotFoundExceptionjava.lang.IllegalArgumentExceptionandroid.view.WindowManager$BadTokenExcepti

8、onjava.lang.IllegalStateException其他10.00%9.00%8.00%7.00%6.00%5.00%4.00%3.00%2.00%1.00%0.00%1112131415161718191 101 111 121 131 141 151 161 171接入Bugly后,崩溃率下降的趋势接入天数大产品(DAU1万)中小产品(DAU1万)崩溃有救二、崩溃分析实战优先修复Top问题、不要对ANR视而不见、善用辅助信息和高级搜索看懂问题ISSUEBugly自动把相似的Crash归类为同个issueCRASH归类并不容易只考虑堆栈是否样的归类算法是远远不够的修复TOP的问题迅速降低CRASH率迅速降低Crash率的窍门:修复每个版本的Top Issue(Top 100 issue 归类了80% Crash)看懂BUGLY的JAVA栈看懂BUGLY的NATIVE栈不好定位的崩溃实战OOM错误堆栈帮不上忙的时候OOMSOF全系统栈.通过辅助信息进行定位通过其它线程的堆栈进行定位把它当崩溃来分析你就错了它是ANR诱导的系统代码的崩溃,想解决它必须去解决ANR把它当崩溃来分析就错了既然是ANR,那就看看main线程在干啥?

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论