Bugly的符号表工具使用总结-iOS

首先先说下bugly的崩溃统计是实时的,即你的app前脚崩溃,bugly后脚就会给你统计到,但是在统计崩溃信息的时候有的时候可能只给你记录了一个简单的崩溃信息,并不能详细的告诉你哪个类的哪个方法的哪行导致了app的崩溃,而bugly的符号表工具可以解决这个问题!下面笔者讲述的是在使用符号表工具遇到的坑,以及个人的见解!

一、首先得集成bugly,具体集成方案查看官网的文档就OK了;
二、第二步就是生成符号表文件

1.1环境要求

环境要求,你需要下载一个java环境,因为符号表工具的运行需要Java运行环境(JRE或JDK版本需要>=1.6)。

1.2 找到对应的dSYM文件

这里先不讲什么是dSYM文件,先完成项目再说。安装好环境以后,需要找到你项目的dSYM文件,首先看debug模式下的dSYM文件。按照下面的操作,cmd+B编译成功以后,就会生成debug环境的dSYM文件,这个时候就成功一半了!

Xcode设置
右击products中的app
debug模式下的dSYM文件

走到这里,应该可以找到debug模式下的dSYM文件了,接下来就是利用符号表工具来生成符号表文件了。为了之后方便整理,笔者把找到的dSYM文件复制粘贴到了桌面上,并且放在了一个文件夹里,这个文件夹可以是自己的工作文件夹里,反正就是为了方便管理。

dSYM文件桌面位置

准备好文件后,从腾讯bugly官网下载符号表工具

WX20171015-212449@2x.png

下载安装完成以后,会看到下面的文件夹里的内容,

打开终端,执行以下命令:(下面的用户名是你自己电脑的账户名)
cd /Users/用户名/Downloads/buglySymboliOS
java -jar buglySymboliOS.jar -i /Users/用户名/Desktop/test.app.dSYM
-i后面的就是你的dSYM文件的路径,敲回车,这个时候稍等一下,大概一分钟左右吧(看项目大小),这个时候就会生成一个压缩包,符号表文件就在这个压缩包里面,不过现在不必要解压,直接把这个上传到官网就好了。

符号表文件压缩包

下面这条命令是直接生成符号表文件,并且上传符号表文件
java -jar buglySymboliOS.jar -i /Users/用户名/Desktop/test.app.dSYM -u -id 900
012345 -key abcdefghijk -package com.batman.demo -version 2.3.1
解释一下:id后面的是你在bugly官网生成的应用的appleid,key后面的是applekey,-package后面的是:安卓的是包名/iOS的是bundleid,version后面的是你这个应用的版本号,一定要和自己项目的版本号一致。上传成功以后,去你自己的bugly上,可以看到已经配置的符号表,到这里你就已经配置完成了。

符号表

你可以到你的崩溃信息里去查看一下,捕捉到的崩溃信息的堆栈是不是已经可以定位到你的代码的具体哪个类的哪个方法的哪行。
如果还没看到笔者总结了一下几个原因:

  1. 上传符号表文件后可能不能马上生效,我自己的是在第二天生效的;
  2. 查看自己的id和key是否正确;
  3. 查看版本号是否一致

接下来有的人会问,我的app已经上线了,怎么找到dSYM文件?这个没问题,你可以打开Xcode->Window->Organizer->Organizer

选择archives
线上app的dSYM文件

按照上述的操作,把dSYM文件复制到自己的文件夹里,使用刚刚一样的命令行,就可以查看自己线上app的崩溃的堆栈了,之前崩溃的也可以看到的哈!

小结:之前也用过友盟的崩溃统计,但是太麻烦,bugly只要一行代码就可以!以上只是笔者在集成过程中的使用总结,如果有不正确的希望可以指出! PS:一个来自热衷于技术的程序猿👨‍💻‍

欢迎加QQ:447808449,讨论技术

推荐阅读更多精彩内容

  • 什么是符号表? 符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示: <起始地址> <结束地址> ...
    深圳阳光阅读 9,832评论 27 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 86,800评论 14 122
  • 该文章属于<简书 — 刘小壮>原创,转载请注明: <简书 — 刘小壮> http://www.jianshu.co...
    刘小壮阅读 33,788评论 47 108
  • Bugly bugly的熟练使用,可以帮助移动开发迅速定位线上bug,帮助解决问题。在使用过程中,我们需要知道什么...
    demonDk阅读 1,333评论 0 1
  • 当弱者以为他们用积攒了好久的勇敢说出来会有人帮助他们的时候,他们却变成千夫所指的那个人,他们被唾弃,被责怪,被...
    陈水水不水阅读 62评论 0 0