线上应用bug跟踪查找-友盟统计
线上的应用只要用心点点都能发现些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跟踪查找-友盟统计的更多相关文章
- 根据友盟统计错误分析线上的崩溃-b
登陆友盟官网找到友盟统计,找到你iOS平台下你所属的APP(图1) 图1 点击进去会出现当日错误列表,选择你发生错误的日期(图2) 图2 我们可以看到,这一天中出现了两个错误,每个错误出现在不同的时间 ...
- 关于线上的bug什么时候修复的思考
这里系统专门指的是那种用户量大的系统,比如有几百万或者上千万的注册会员.因为小系统因为用户量少,不存在这种思考,考虑有时候是多余的.另外还有内部系统,给自己公司内部人员使用的,即便是出现了问题,也不会 ...
- 一个线上程序bug,由通用补数程序引起
下游发现接口可用率非100%,马上线上查看,发现数据在有些情况下通用补数的数据是空, 有20%的用户是没有相应偏好等的数据的,需要通用补数来补数,结果通用补数没有数据. 通用补数数据的检查报警时必须要 ...
- 线上出bug了?别怕,这么定位!
摘要: Source Map还是很神奇的. 原文:线上出bug了?别怕,这么定位! 公众号:前端小苑 Fundebug经授权转载并修改,版权归原作者所有. 工作中,生产环境代码是编译后代码,搜集到报错 ...
- 线上调试bug
在以往的工作中,线上一有bug,就需要把文件弄到本地来改,但经常会碰见本地环境又和线上不一样,导致调试困难,闭着眼睛改好之后传到线上去看对不对,不对的话又要改,循环往复,要多麻烦就有多麻烦啊. 今天给 ...
- 被产品经理怼了,线上出Bug为啥你不知道
前言 前几天跟读者聊天,他说被产品经理给怼了.原因是线上出 Bug 了,最后是客户反馈才知道的. 我就问他:你们是不是没做监控? 读者:我们是刚成立的创业团队,目前最重要的就是堆功能,很多基础设施都没 ...
- Android 友盟统计的集成与使用(包含多渠道打包配置)
前言 app上线后,一般公司都希望跟踪app在市场上的使用情况.包括新增用户.活跃用户.渠道信息.错误信息等,还有例如商城类的app,需要跟踪用户最喜欢浏览哪种类型的店铺或商品.这些都可以通过集成友盟 ...
- android开发系列之友盟统计集成
相比大家都遇到这种情况,当我们的app上线之后,我们想要实时的跟踪了解到app里面的bug情况.新增用户情况.用户相关的行为属性情况等.但是如果自己在app里面去开发集成这些功能,一方面开发工作量还挺 ...
- UmengAppDemo【友盟统计SDK集成以及多渠道打包配置,基于V7.5.3版本】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里只是记录下集成友盟统计SDK以及简单配置多渠道打包的步骤.所以1.该Demo不能运行:2.配置多渠道打包只是一种简单的写法,具体 ...
随机推荐
- mysql事务
1. 事务并不专属于mysql 2. 事务的ACID特性 1)原子性(atomicity) 一个事务必须被视为一个不可分割的最小工作单元,整个事务中得所有操作要么全部提交成功,要么全部失败回滚,对于一 ...
- json 排序
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 前端实现图片懒加载(lazyload)的两种方式
在实际的项目开发中,我们通常会遇见这样的场景:一个页面有很多图片,而首屏出现的图片大概就一两张,那么我们还要一次性把所有图片都加载出来吗?显然这是愚蠢的,不仅影响页面渲染速度,还浪费带宽.这也就是们通 ...
- Linux系统性能优化思路和方法
#影响Linux性能的CPU.内存.磁盘.网络等因素分析1.系统硬件资源:CPU,多核与超线程消耗CPU的业务:动态WEB服务,Mail服务器2.内存:物理内存与swap的取舍,64操作系统消耗内存的 ...
- Javascript中数组的基本操作
删除数组指定的某个元素 via首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) ...
- Linux deepin 下sublimes配置g++ openGL
参考 :http://blog.csdn.net/u010129448/article/details/47754623 ubuntu 下gnome只要将代码中deepin-terminal改为gno ...
- eclipse控制台乱码
- UWP Jenkins + NuGet + MSBuild 手把手教你做自动UWP Build 和 App store包
背景 项目上需要做UWP的自动安装包,在以前的公司接触的是TFS来做自动build. 公司要求用Jenkins来做,别笑话我,之前还真不晓得这个东西. 会的同学请看一下指出错误,不会的同学请先自行脑补 ...
- 从零开始---控制台用c写俄罗斯方块游戏(2)
上回说到下移的问题,这篇就说一下刷新的问题 我们控制台输出一般都是一行一行的输出,所以,在输出屏幕的时候,我们一个画面闪到另一个画面的效果 我刚开始弄的是用system("CLS" ...
- linux 常用命令
//创建目录mkdir//创建中间没有路径的文件夹mkdir -p //删除文件rm//强制删除文件rm -f//删除目录rmdir//删除多个目录rmdir -p //输出当前环境根路径echo $ ...