Bugly
bugly的熟练使用,可以帮助移动开发迅速定位线上bug,帮助解决问题。在使用过程中,我们需要知道什么是符号表,为什么要配置符号表。
符号表
符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示:
<起始地址> <结束地址> <函数> [<文件名:行号>]
为什么要配置符号表
为了能快速并准确地定位用户APP发生Crash的代码位置,Bugly使用符号表对APP发生Crash的程序堆栈进行解析和还原。Bugly提供了自动和手动两种方法配置iOS符号表,这里只介绍手动配置,自动配置后会影响编译时间。
配置符号表前的准备工作
1.下载Bugly iOS符号表工具;
2.找到Bugly中对应UUID的编译后的包的dSYM文件;
3.通过使用下载下来的工具生成符号表文件;
如何找到dSYM文件
在bugly的崩溃处理中找到对应的crash版本
然后选择XCode - Window - Organizer
Show in Finder 可以找到当时上传你的正式编译包,显示包内容就可以找到dSYM文件,通过命令一下命令可以查看dSYM的UUID,用来对比UUID是否一致:
xcrun dwarfdump --uuid /Users/name/Desktop/Test.app.dSYM
利用工具生成符号表
在使用工具前记得更改工具目录下的 settings.text 文件,填写相应的id和key,其值可以在bugly的产品设置里获取
配置完成后,就可以通过命令生成符号表文件了
cd /Users/name/Downloads/buglySymboliOS2.4.3
java -jar buglySymboliOS.jar -i /Users/name/Desktop/CanZone.app.dSYM
最后在bugly的平台上,上传符号表就大功告成。
可以在对应的crash中看到更多的信息。