一、前言
本文介绍友盟错误统计分析和Bugly错误统计分析
二、友盟错误统计分析
进入友盟后台,会看到类似以下错误详情
1.找到binary image标识的信息 (图1)
2.在有序号的地方找到对应的内存地址(图2)(图3)
有点不好的地方就是需要手动分析,利用命令行或者工具进行
使用方法是把对应版本的.dSYM文件拖到工具,输入图3的任意一个内存地址
对比下bugly的
可以自动分析,比较好。
三、bugly错误报告分析
可以自动分析错误,但需要上传符号表
1.通过CocoaPods集成
2.在工程的Podfile里面添加以下代码:
pod 'Bugly'
3.导入头文件
4.后台新建一个产品,获得AppId
5.编写代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[Bugly startWithAppId:@"此处替换为你的AppId"];
return YES;
}
符号表的生成
release模式下运行工程会自动生成同名的dSYM文件
1 配置环境
1.1 点击Java运行环境下载(JRE或JDK版本需要>=1.6)。
1.2 安装过后,查看是否安装成功,打开终端,在终端输入"java -version"(这是查看运行环境的版本号)
2.1 定位到dSYM文件步骤:
打开Finder,按common + shift + g,输入
~/Library/Developer/Xcode/DerivedData,找到自己的项目名进入:点击Build进入
最快的方法是,在xcode右键点击product目录下的.app文件,show in finder就打开了
3.官网下载最新的符号表工具
将"buglySymboliOS.jar"放入一个文件夹中,例如我放到bin
然后终端输入 java -jar 再把上面的文件拖到到终端,加一个空格输入 -i 再加一个空格,把dSYM文件拖进来就会自动有路径的
命令格式java -jar buglySymbolIOS.jar的路径 -i dSYM文件的路径,最后就会自动生成符号表文件,zip格式的,进入bugly后台,手动上传。
注意:后台报错的UUID和符号表的UUID要一致
通过命令查看UUID
xcrun dwarfdump --uuid dSYM文件的路径
手动提取符号表文件,并且手动上传,虽然麻烦了点,但是也容易搞乱吧。推荐用自动脚本的方式
官网下载脚本
打开
修改这三个地方保存,全选,复制,粘贴到工程的脚本框里面就可以了。
脚本默认在Debug模式及模拟器编译情况下不会上传符号表,在需要上传的时候,请修改下列选项
Debug模式编译是否上传,1=上传 0=不上传,默认不上传
UPLOAD_DEBUG_SYMBOLS=0
模拟器编译是否上传,1=上传 0=不上传,默认不上传
UPLOAD_SIMULATOR_SYMBOLS=0
要修改这两个地方,前面的#要去掉。
在release模式下跑了下数据越界,奔溃,bugly后台就捕捉到了。
在没有符合表的情况下,还是能正常显示的。但复杂的错误,就需要符合表了。官网也说了没有上传符号表,可能显示不正常。也可能正常。