线上的应用只要用心点点都能发现些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. 3.2 配置构建Angular应用——简单的笔记存储应用

    本节我们会通过构建一个简单的笔记存储应用(可以载入并修改一组简单的笔记)来学习如何应用Angular的特性.这个应用用到的特性有: 在JSON文件中存储笔记 展示.创建.修改和删除笔记 在笔记中使用M ...

  2. kaggle入门2——改进特征

    1:改进我们的特征 在上一个任务中,我们完成了我们在Kaggle上一个机器学习比赛的第一个比赛提交泰坦尼克号:灾难中的机器学习. 可是我们提交的分数并不是非常高.有三种主要的方法可以让我们能够提高他: ...

  3. ASN.1 key structures in DER and PEM

    转自:https://tls.mbed.org/kb/cryptography/asn1-key-structures-in-der-and-pem Introduction Everybody lo ...

  4. Android中自定义控件TextSize属性问题

    本文主要说明一个自定义控件添加TextSize属性的坑,刚刚从坑里面爬出来,写个随笔,记录一下: *************************************************** ...

  5. Delphi控件之---通过编码学习TStringGrid(也会涉及到Panel控件,还有对Object Inspector的控件Events的介绍

    我是参考了万一的博客里面的关于TStringGrid学习的教程,但是我也结合自己的实际操作和理解,加入了一些个人的补充,至少对我有用! 学用TStringGrid之——ColCount.RowCoun ...

  6. [原创]Centos7 从零编译Nginx+PHP+MySql

    序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...

  7. 活动助手Beta用户试用报告

    用户试用报告 1.面向参与者用户 1.1 日常参加各类学习(水综测)活动中,有没有遇到以下问题: (1) 信息来源混乱,不知道靠不靠谱 (2) 每次报名都要重新填写自己的学号手机号,有时候填错了就没综 ...

  8. 带后台服务配置的tomcat使用

    tomcat服务启动,将不需要手动启动startup.bat,避免cmd窗口的出现,因为隐藏到后台服务执行: 1,下载. 官网:http://tomcat.apache.org/download-70 ...

  9. linux mysql 安装配置

    1.确认当前linux系统版本,使用以下命令: cat /etc/issue cat /etc/redhat-release 2.下载对应linux系统的mysql安装包. 下载地址:http://d ...

  10. unity 改变场景

    public class GameManager : MonoBehaviour { public void OnStartGame(int sceneName) { SceneManager.Loa ...