1、什么是符号表
符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示:
<起始地址> <结束地址> <函数> [<文件名:行号>]
就大概是这个这样的东西
2、符号表的作用
使用符号表可以对APP发生Crash的程序堆栈进行解析和还原,能为了能快速并准确地定位用户APP发生Crash的代码位置
解析前的崩溃堆栈:
解析后:
3、上传符号表
3.1 IOS
ios的符号表文件就是dSYMs文件夹
文件通常可以通过Xcode进行查看,Window -> Organizer -> Archives -> 选择对应的Archives包 -> Show in Finder -> 选折对应的.xcarchive文件 -> 显示包内容 -> 打开dSYMs文件夹
找到打成zip,再手动上传bugly,就可以了
3.2 安卓
下载bugly的工具
阅读里面的使用指南符号表工具Android版-使用指南.pdf,(各个参数根据实际情况填)
4、 本地解析崩溃日志
安卓:命令行
“E:/android-ndk-r13b-windows-x86_64/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-addr2line.exe” -f -C -e “F:/ProjectG/pjg-client/AndroidProj/StagingArea/symbols/armeabi-v7a/libunity.sym.so” 00576c98&exit
(运行 arm-linux-androideabi-addr2line.exe, 参数 -f -C -e so路径 日志对应行的内存地址)
就会输出解析后的堆栈信息