Crashlytics被收购,应用崩溃报告服务要火了?

来源:互联网 发布:java的线程锁机制 编辑:程序博客网 时间:2024/04/28 17:06

从Crashlytics被收购讲起

近日,Twitter宣布收购应用崩溃报告服务公司Crashlytics,不少公司都使用Crashlytics软件来检测其应用何时会在客户端设备上崩溃,并找出崩溃的根本原因。包括Twitter,Vine,Yelp,Kayak,TaskRabbit,Walmart,Groupon和Waze在内的移动应用都使用Crashlytics应用崩溃报告工具,这些都算得上iOS平台上重量级的应用。Crashlytics的两位创始人Jeff    Seibert和Wayne Chang,    发布一则blog ,宣布与推塔联手。

iOS生态为什么需要第三方的应用崩溃报告?

移动应用,玩着玩着就崩溃了,不过在iOS里没有崩溃这么一说,他们只会闪退,退回到桌面上来。Crashlytics所提供的服务,不但可以提供在线的报告,解释崩溃的原因,甚至还能准确给出究竟是哪一行导致的崩溃。如果开发者干等着苹果的崩溃报告,可能又要花上几周的时间。

苹果怎么处理崩溃报告

苹果官方指出:当一个应用程序在一台iOS 设备上崩溃时,一份“崩溃报告”将在该设备上次创建并存储起来。崩溃报告描述应用程序是在何种条件下崩溃的,大部分情况下包含一份当前正在运行线程的完整的堆栈跟踪,通常这在调试问题时非常有用。如果你是一位iOS开发者,你应该查看这些崩溃报告,了解导致你的应用程序崩溃的原因,然后修复它。

内存不足报告

内存不足报告与其他的崩溃报告的不同之处在于这种类型的报告没有堆栈跟踪。当一个内存崩溃发生时,你必须研究一下你的内存使用方式以及你对于内存警告的处理方式。你可能会发现本文档为你指出几种内存管理方式是非常有用的。

分析应用崩溃

在崩溃报告中最令人感兴趣的部分是在你的应用程序执行终止时的堆栈跟踪。这个跟踪和你在调试器中停止执行时的类似,但遗憾的是这里没有提供被认为是符号的方法或函数的名称。取而代之的是16位的内存地址和它所指向的你的应用程序或系统框架的可执行代码。你需要将这些地址映射到符号中。崩溃日志在输出时并不包含标准信息,你需要在你分析日志前进行符号化处理。

需要指出“符号化”是将堆栈跟踪地址转化为源代码方法名称及行号,这需要上次到苹果应用商店的应用程序的二进制文件以及构建二进制文件时产生的.dSYM文件。这些必须是精确匹配的,否则你的报告将不能完整地符号化。


应用崩溃报告服务市场要火了?

崩溃报告被苹果弄的复杂又麻烦,提供简单快捷又清晰的崩溃报告服务,就成为了iOS生态的新蓝海。去年四月,包括Baseline Ventures,Flybridge    Capital Partners等等,投资Crashlytics公司500万美元。

Twitter本身是一个开放平台,不少应用都共生于这个平台,收购Crashlytics对于Twitter而言是个很好的帮助。需要注意的是,Crashlytics目前还仅仅提供iOS平台的应用崩溃服务报告,对于Android平台……come    soon!可见,快速相应、贴心的报告服务、跨平台支持,将成为应用崩溃报告服务的三个核心要点。

 

http://www.csdn.net/article/2013-02-01/2814060-crashlytics-joining-twitter