Bugly不认真看文档,遇到的坑

腾讯bugly 统计crash 不认真看文档,搞得我找个bug找了两天,无意发现的。爱偷懒,不把文档认真看,直接集成,害的自己看bugly上面的一个bug找了好久,最主要是定位不到到底是哪里出问题。

项目植入bugly 和其他三方流程大致,非常简单。这里就不说了。
https://bugly.qq.com/getStarted

我把bugly植入后。用Xcode 无论是release模式和dubug模式下crash,都能看到是在哪个线程的哪个方法运行时崩溃。如图1
Bugly不认真看文档,遇到的坑_第1张图片
可以清晰的看到是类的哪个方法crash。
然后就把App上线了。但是上线后,bugly返回的crash 信息就看着蛋疼了。如图2
Bugly不认真看文档,遇到的坑_第2张图片
完全看不到是哪个类的哪个方法crash的。这时候好懵逼,根本不知道怎么去定位crash的位置。
这个问题要怎么解决呢?
问了一下很有经验的朋友,他告诉我要符号表配置。并扔来https://bugly.qq.com/iossymbol 之前都没认真看。坑自己呀。
所谓符号表配置 简单易懂的讲解,看下图3。
Bugly不认真看文档,遇到的坑_第3张图片
什么是符号表? 看图对照下就知道了。
符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示:
<起始地址> <结束地址> <函数> [<文件名: 行号>]
其实在没有符号表配置之前,并且是你用Xcode 直接跑,无论是真机还是模拟器,debug还是release 都是bugly 都是以图1 的形式给你返回crash 。但是如果你上线之后。会发现,其实bugly会以图2的方式给你返回crash 让你定位不到crash 所在地。如果你看到的是图2这种形式,那可以很负责的告诉你,要去符号表配置。
如何符号表配置 https://bugly.qq.com/iossymbol
文档上写的很清楚,只需要三步
1.符号表提取工具依赖 java 运行环境 java 环境下载,JRE或JDK版本需要 >= 1.6
配置下java环境, 就下一个包。下载好后安装,mac就是爽,配置环境就是秒杀。
2.把符号表提取工具buglySymboliOS.jar 保存在 ~/bin 目录下 (如果用户主目录没有bin文件夹,请自行创建,如下图所示)
3.在 Xcode 工程对应 Target 的Build Phases中新增Run Scrpit Phase 并进行修改。就可以了。 还是参考文档来。
所以当你的线上爱啪啪(app)bugly返回信息无法显示crash类名和方法时。看看自己是否已经符号表配置。

你可能感兴趣的:(ObjectiveC)