线上的应用只要用心点点都能发现些bug,连微信,QQ也不列外。但是bug中最严重的算是闪退了,这导致了用户直接不能使用我们的app。

  我们公司是特别注重用户反馈和体验的,我们会定期打电话咨询用户的使用情况。我们也有自己的天使用户群,这些用户会跟我们及时的反馈应用的使用情况,bug情况,还有他们的需求。

  用户不是技术人员他无法跟你清楚的描述怎么产生闪退的,于是我们需要一个bug统计的功能,我们公司采用友盟统计实现bug的记录。我们在iOS应用中植入友盟统计的功能,我也经常在查看友盟的错误统计和错误趋势排除项目中不稳定的点。用过友盟统计的都知道,我们只能看到一些16进制的地址,并不能清楚的知道到底哪里出现问题了。

  友盟上的bug日志:

Application received signal SIGSEGV
(null)
((
CoreFoundation 0x2d539feb <redacted> +
libobjc.A.dylib 0x37db2ccf objc_exception_throw +
CoreFoundation 0x2d539f15 <redacted> +
TheFirstClass 0x2928a1 TheFirstClass +
libsystem_platform.dylib 0x383d9f8b _sigtramp +
libsystem_malloc.dylib 0x3839c267 <redacted> +
libsqlite3.dylib 0x3805bc67 sqlite3_exec +
libsqlite3.dylib 0x3805b9b5 sqlite3_exec +
libsqlite3.dylib 0x38094c6b sqlite3_prepare_v2 +
TheFirstClass 0xc020d TheFirstClass +
TheFirstClass 0xc0689 TheFirstClass +
TheFirstClass 0x103457 TheFirstClass +
TheFirstClass 0x103331 TheFirstClass +
TheFirstClass 0x18889d TheFirstClass +
libdispatch.dylib 0x382a07cb <redacted> +
TheFirstClass 0x188831 TheFirstClass +
TheFirstClass 0x10325d TheFirstClass +
TheFirstClass 0x1031e9 TheFirstClass +
TheFirstClass 0x10319d TheFirstClass +
libdispatch.dylib 0x382a260f <redacted> +
TheFirstClass 0x103157 TheFirstClass +
TheFirstClass 0x1209d TheFirstClass +
TheFirstClass 0x115a3 TheFirstClass +
TheFirstClass 0x10acf TheFirstClass +
TheFirstClass 0x16c03f TheFirstClass +
TheFirstClass 0x293ef TheFirstClass +
TheFirstClass 0x79d5b TheFirstClass +
libdispatch.dylib 0x3829a833 <redacted> +
libdispatch.dylib 0x3829a81f <redacted> +
libdispatch.dylib 0x382a149f <redacted> +
CoreFoundation 0x2d5048f1 <redacted> +
CoreFoundation 0x2d5031c5 <redacted> +
CoreFoundation 0x2d46df0f CFRunLoopRunSpecific +
CoreFoundation 0x2d46dcf3 CFRunLoopRunInMode +
GraphicsServices 0x323c6663 GSEventRunModal +
UIKit 0x2fdb916d UIApplicationMain +
TheFirstClass 0x122f01 TheFirstClass +
libdyld.dylib 0x382bfab7 <redacted> +
) dSYM UUID: 1ED274B4-8D63---FB884B9E88DA
CPU Type: armv7
Slide Address: 0x00004000
Binary Image: TheFirstClass
Base Address: 0x000bc000

  bug查找步骤如下:

  1.为了跟踪友盟的bug日志,我们必须在应用打包的时候同时保存打包的“XX.xcarchive”,显示XX.xcarchive的包内容,然后找到dSYMs文件夹下的“项目名.app.dSYM”放到桌面。

  2.显示“项目名.app.dSYM”的包内容,找到“项目名”文件同样拷贝到桌面。

  3.打开终端

    a. 输入 cd deskTop

    b. dwarfdump --1ED274B4-8D63-3247-8168-FB884B9E88DA(这是dSYM UUID) 项目名.app.dSYM

     c. dwarfdump --arch= armv7(armv7这是CPU Type) --lookup 0xc020d(0xc020d这是错误信息的地址) /Users/你的电脑/Desktop/项目名

  通过上述的步骤就能定位到崩溃的代码,至于为什么这行代码产生崩溃,这就需要自己去分析解决了。这是我总结的查找友盟上bug的简便方法,使用终端不用下载解析bug的图像化插件,简单几句终端代码也不麻烦。

  

线上应用bug跟踪查找-友盟统计的更多相关文章

  1. 根据友盟统计错误分析线上的崩溃-b

    登陆友盟官网找到友盟统计,找到你iOS平台下你所属的APP(图1) 图1 点击进去会出现当日错误列表,选择你发生错误的日期(图2) 图2 我们可以看到,这一天中出现了两个错误,每个错误出现在不同的时间 ...

  2. 关于线上的bug什么时候修复的思考

    这里系统专门指的是那种用户量大的系统,比如有几百万或者上千万的注册会员.因为小系统因为用户量少,不存在这种思考,考虑有时候是多余的.另外还有内部系统,给自己公司内部人员使用的,即便是出现了问题,也不会 ...

  3. 一个线上程序bug,由通用补数程序引起

    下游发现接口可用率非100%,马上线上查看,发现数据在有些情况下通用补数的数据是空, 有20%的用户是没有相应偏好等的数据的,需要通用补数来补数,结果通用补数没有数据. 通用补数数据的检查报警时必须要 ...

  4. 线上出bug了?别怕,这么定位!

    摘要: Source Map还是很神奇的. 原文:线上出bug了?别怕,这么定位! 公众号:前端小苑 Fundebug经授权转载并修改,版权归原作者所有. 工作中,生产环境代码是编译后代码,搜集到报错 ...

  5. 线上调试bug

    在以往的工作中,线上一有bug,就需要把文件弄到本地来改,但经常会碰见本地环境又和线上不一样,导致调试困难,闭着眼睛改好之后传到线上去看对不对,不对的话又要改,循环往复,要多麻烦就有多麻烦啊. 今天给 ...

  6. 被产品经理怼了,线上出Bug为啥你不知道

    前言 前几天跟读者聊天,他说被产品经理给怼了.原因是线上出 Bug 了,最后是客户反馈才知道的. 我就问他:你们是不是没做监控? 读者:我们是刚成立的创业团队,目前最重要的就是堆功能,很多基础设施都没 ...

  7. Android 友盟统计的集成与使用(包含多渠道打包配置)

    前言 app上线后,一般公司都希望跟踪app在市场上的使用情况.包括新增用户.活跃用户.渠道信息.错误信息等,还有例如商城类的app,需要跟踪用户最喜欢浏览哪种类型的店铺或商品.这些都可以通过集成友盟 ...

  8. android开发系列之友盟统计集成

    相比大家都遇到这种情况,当我们的app上线之后,我们想要实时的跟踪了解到app里面的bug情况.新增用户情况.用户相关的行为属性情况等.但是如果自己在app里面去开发集成这些功能,一方面开发工作量还挺 ...

  9. UmengAppDemo【友盟统计SDK集成以及多渠道打包配置,基于V7.5.3版本】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里只是记录下集成友盟统计SDK以及简单配置多渠道打包的步骤.所以1.该Demo不能运行:2.配置多渠道打包只是一种简单的写法,具体 ...

随机推荐

  1. 解决fedora25安装vmware12问题:

    运行vmware需要几个工具.gcc 编译工具是必须要有的.dnf groupinstall “Development tools“rpm -qa |grep kernel-headersrpm -q ...

  2. iOS - .a静态库的打包(包括打包的文件中用到了一些别人的三方库和分类的处理)

    一.概念篇 什么是库? 库是程序代码的集合,是共享程序代码的一种方式 根据源代码的公开情况,库可以分为2种类型 开源库 公开源代码,能看到具体实现 比如SDWebImage.AFNetworking ...

  3. 安天AVL联合小米MIUI首擒顽固病毒“不死鸟”

    不死鸟作为希腊神话中的一种怪物,拥有不断再生的能力,每当寿限将至时,它会在巢穴中自焚,并在三天后重新复活.就在近期,安天AVL移动安全团队和小米MIUI安全中心发现了病毒界的“不死鸟”,其顽固程度之深 ...

  4. 使用Json Web Token设计Passport系统

    >>Token Auth机制 基于Token的身份验证是无状态的,我们不将用户信息存在服务器或Session中. 相比原始的Cookie+Session方式,更适合分布式系统的用户认证,绕 ...

  5. 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题

    解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题http ...

  6. net-force.nl/programming writeup

    从 wechall.net 到 net-force.nl 网站,发现网站的内容不错,里面也有不同类型的挑战题目:Javascript / Java Applets / Cryptography / E ...

  7. winform快速开发平台 -> 快速绑定ComboBox数据控件

    通常我们在处理编辑窗体时.往往会遇到数据绑定.例如combobox控件绑定数据字典可能是我们经常用到的.然而在我的winform快速开发平台中我是如何处理这个频繁的操作呢? 首先,我们要绑定combo ...

  8. Spring MVC初次相见

    1.什么是SpringMvc Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 M ...

  9. 追踪记录每笔业务操作数据改变的利器——SQLCDC

    对于大部分企业应用来用,有一个基本的功能必不可少,那就是Audit Trail或者Audit Log,中文翻译为追踪检查.审核检查或者审核记录.我们采用Audit Trail记录每一笔业务操作的基本信 ...

  10. 常用CSS缩写语法总结

    使用缩写可以帮助减少你CSS文件的大小,更加容易阅读.css缩写的主要规则如下: 颜色 16进制的色彩值,如果每两位的值相同,可以缩写一半,例如:#000000可以缩写为#000;#336699可以缩 ...