Android 符号表 | 您所在的位置:网站首页 › so文件在哪 › Android 符号表 |
Bugly Android 符号表配置
Bugly Android 符号表配置
什么是符号表?
第一种:so符号表
第二种:mapping文件
怎么找到符号表?
SO符号表位置
mapping文件位置
如何判断是否与Crash匹配?
如何查看Debug SO文件的UUID?
找不到Crash对应的Debug SO文件?
如何上传符号表到bugly平台?
什么是符号表?
第一种:so符号表
符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示: [] 对于native crash,为了能快速并准确地定位用户APP发生Crash的代码位置,Bugly使用符号表对APP发生Crash的程序堆栈进行解析和还原。 举一个例子: 第二种:mapping文件mapping文件用于对混淆后的代码进行还原,详见:https://developer.android.com/studio/build/shrink-code?hl=zh-cn#obfuscate 怎么找到符号表? SO符号表位置Android平台中,Debug SO文件是指具有调试信息的SO文件,其中包含用户还原堆栈的符号信息。 为了方便找回Crash对应的Debug SO文件和还原堆栈,建议每次构建或者发布APP版本的时候,备份好Debug SO文件。 CMake编译项目: 默认情况下,Debug编译的Debug SO文件将位于: //build/intermediates/cmake/debug/obj/local/ NDK编译项目: 默认情况下,Debug编译的Debug SO文件将位于: //build/intermediates/ndk/debug/obj/local/ 而Release编译的Debug SO文件将位于: //build/intermediates/ndk/release/obj/local/ 如下图所示: mapping文件位置默认情况下,mapping文件位置在: /build/outputs/mapping// 如何判断是否与Crash匹配?Bugly还原Native Crash堆栈时,需要根据UUID来匹配符号表文件,因此只有上传的符号表文件的UUID与Native Crash堆栈的SO文件的UUID一致时(从后往前匹配),才能准确地对堆栈进行还原。 查看符号表文件的UUID(“如何查看Debug SO文件的UUID?”) 查看Native Crash对应的APP的UUID: 崩溃分析 ---> Crash issue ---> 符号表 ---> UUID 如何查看Debug SO文件的UUID?符号表文件的UUID与Debug SO文件的UUID是一致的,因此可以通过符号表工具生成的符号表文件来查看Debug SO文件的UUID: 生成符号表文件(.zip) ---> 解压符号表文件(.symbol) ---> 使用文本编辑器打开符号表文件 其中符号表文件的“SHA-1”信息即Debug SO文件的UUID,亦是符号表文件的UUID,如果文件较大,建议使用“Sublime Text”等文本编辑器来打开符号表文件。 由于Bugly已采用新的UUID计算规则,为了能正确地匹配Crash堆栈对应的SO文件,请使用2.5.0或以上版本的符号表工具。 找不到Crash对应的Debug SO文件?如果本地已经无法找到Crash对应的符号表文件或者Debug SO文件了,但还能找回Crash对应的APP版本的Native工程代码,建议尝试重新用NDK编译出Debug SO文件并用符号表工具生成符号表文件。 如果连Native工程代码也无法找回了,那就真的无法还原这个Crash堆栈了。 为了防止出现这种情况,建议每次构建或者发布APP版本的时候,一定要备份好Debug SO文件! 如何上传符号表到bugly平台?目前只支持通过符号表工具上传,请下载符号表工具上传(内附详细使用说明文档),下载链接:https://bugly.qq.com/v2/downloads |
CopyRight 2018-2019 实验室设备网 版权所有 |