iOS 关于Bugly与友盟的错误分析的比较

我先介绍Bugly的使用,然后再介绍友盟的使用,来比较这两个的优缺点,分析一下哪个SDK对于开发者更加友好。

image.png

一、Bugly的集成使用

  • 注册账号,创建应用,获取Appid 和 Appkey这种基本操作我就不说了,下面才是重点。


    Bugly01.png
Bugly02.png
  • 集成SDK可以手动或者pods,官方文档写的很清楚,而且很简单。我们只要在,设置appid即可,在APPDelegate中写上一段数组越界崩溃代码。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [Bugly startWithAppId:@"d31aeda785"];
    NSArray *array = @[@"1",@"2",@"3"];
    NSLog(@"%@",array[3]);
    return YES;
}

运行之后我们可以在Bugly的后台看到崩溃信息,大约不到一分钟,就可以在后台看到崩溃信息了。(这里请注意:这里在Bugly显示时间很短,可以说是即时的,因为这个方面要和友盟进行对比。)

Bugly03.png

  • 但是我们发现,这里只能看到是因为什么崩溃了,并不能确定是具体哪个类哪一行报错,下面有请我们的符号表闪亮登场!!!
    关于符号表请仔细阅读Bugly的官方文档,非常详细。
    配置符号表有两种方法:1.自动配置 2.手动配置,在这里我只讲一下自动配置,以及一些需要注意的点,因为手动配置太麻烦,原谅我这么懒。。。

  • 注意点:
    (1)当我们下载完 自动配置符号表工具包后,我们要将Appid Appkey BundleId分别替换掉dSYMUpload.sh文件中的字段。将下面这两个字段的值全部改成1,不然会一直提示你,符号表未配置。

    Bugly04.png

(2)当你用模拟器或者Debug模式运行,一定要注意文档中的这段话,我是将值都改成了1。

  • Debug模式编译是否上传,1=上传 0=不上传,默认不上传
    UPLOAD_DEBUG_SYMBOLS=0
  • 模拟器编译是否上传,1=上传 0=不上传,默认不上传
    UPLOAD_SIMULATOR_SYMBOLS=0

再次运行后,当然也是崩溃,查看Bugly后台,很清晰的为我们分析出是哪一行出现错误。是不是很棒棒!!!

Bugly05.png

二、友盟错误分析

  • 如果你对友盟的产品不是很熟悉的话,建议先看看新手上路


    UM01.png
  • 同样很老套的注册应用获取appkey


    UM02.png

    然后下载SDK,根据文档集成


    UM03.png

    解压之后是下面4个文件夹,实在不明白只想进行错误分析,这添加的framework有点多啊。。。
    UM04.png
  • 初始化SDK,并且添加崩溃代码

#import "AppDelegate.h"
#import <UMCommonLog/UMCommonLogHeaders.h>
#import <UMCommon/UMConfigure.h>
@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [UMCommonLogManager setUpUMCommonLogManager];
    [UMConfigure setLogEnabled:YES];//设置打开日志
    [UMConfigure initWithAppkey:@"5ae870e88f4a9d72f70004d3" channel:@"App Store"];
    NSArray *array = @[@"1",@"2",@"3"];
    NSLog(@"%@",array[3]);
    return YES;
}

就文档而言,感觉友盟的文档很乱,东西很杂,对于初次使用友盟的开发者来说可能会有一点麻烦,也许是因为友盟的产品太多了吧。
当我们运行完有bug的程序之后,在友盟的后台并没有及时显示出崩溃信息,我也就不等了,因为昨天就等了两个小时才在后台看到,友盟这效率有点低啊。
如果我们想看到底是哪一行代码引起的崩溃我们需要借助工具umcrashtool。下面开始说说如何使用。
点击这里可以看到错误工具的使用

UM05.png

具体分析我们需要两件东西,1.umcrashtool 2.错误列表的.csv文件
我们可以通过链接下载umcrashtool,关于.csv文件我们在哪里去找
UM06.png

在这里进行下载,在桌面新建一个文件夹crash,将umcrashtool和.csv文件一同放入crash中。

  • (1)执行命令,cd 到crash
    UM07.png

    (2)输入./umcrashtool 先不要敲回车,继续把.csv文件拖到终端中,注意:./umcrashtool 与.csv文件路径之间要有空格
    UM08.png

    此时回车,会出现下面的结果
    UM09.png

    红框内标识你的dsym文件并不是以69DA4615...命名的,那么这个dsym是在哪里找到的,我们在打包的时候,会生成一个Archive文件,Show in Finder,显示包内容找到BugDemo.app.dsym文件
    UM10.png

    UM11.png

    UM12.png

    UM13.png

    UM14.png

此时我们发现.dSYM文件的名称和终端上要求的名称不一样,要将.dSYM文件命名为终端上的名称,(UM14.png是修改后的文件名称)再次执行上面的命令。

image.png

之前的警告就消失了,但是新的问题出现了,这里为什么没有具体显示哪一行有错误呢?通过查找资料发现,友盟关于数组越界这种bug并不能准确分析出是哪一行代码出现问题,so。。。刚才是白做了,此时心中一万只草泥马路过,看到这里的朋友不要打我,我是无辜的。


image.png

通过实际操作两者比较:

  • 时间:Bugly可以堪称即时性,友盟。。等的我花儿都谢了;
  • 定位准确度:从刚开的分析也可以看出,Bugly明显是优于友盟的;
  • 操作难易度:Bugly可以进行自动配置符号表,但友盟只能进行手动操作,并且友盟的文档关于umcrashtool的介绍使用说明并不是那么明显;
  • 友盟只能统计1000个错误,而Bugly并没有限制;
    关于错误分析只是友盟的一个小分支,这里也没有贬低友盟的意思,只是对两者进行错误分析的比较,当然友盟分享统计做的还是相当牛逼的,有时间再讲讲统计,这个挺有意思的。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335

推荐阅读更多精彩内容

  • 该文章属于刘小壮原创,转载请注明:刘小壮[https://www.jianshu.com/u/2de707c93d...
    刘小壮阅读 37,446评论 45 122
  • 什么是符号表? 符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示: <起始地址> <结束地址> ...
    深圳阳光阅读 12,143评论 28 5
  • 在开发APP的过程中,崩溃等异常总是让我们不堪其烦,不过开发阶段的崩溃等问题,都是小事,可以进行处理,但是一旦发布...
    IUVO阅读 14,528评论 3 27
  • 当所有文字相拥死去 我们为孤单刻上沉重的印痕 在每一个失眠的梦里 等一缕紫气乘天马而来 把张望在地平线上的情绪 悬...
    郑礼阅读 323评论 0 6
  • 中国人常说“安身立命”,就是有个职业成个家吗?不是,不能简单地这样去理解,“安身立命”就是指与我们所处的世界和谐相...
    鲁先圣阅读 217评论 0 0