WeTest腾讯质量开发平台 移动 APP 崩溃捕获解决方案 CrashSight 之常用术语解释(下)

腾讯WeTest · 2022年05月06日 · 4590 次阅读

CrashSight 为全平台(移动/PC/主机)开发者提供崩溃异常捕获、上报、分析和规避方案等全链路闭环专业服务。帮助开发者快速定位并解决异常问题,降低产品崩溃率,提升用户体验。
国内:https://crashsight.qq.com
出海/海外:https://crashsight.wetest.net

1 介绍

什么是符号表? 符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示:

为什么要配置符号表?
为了能快速并准确地定位用户 APP 发生 Crash 的代码位置,CrashSight 使用符号表对 APP 发生 Crash 的程序堆栈进行解析和还原。 举一个例子:

而符号表工具,正是 CrashSight 提供给开发者提取符号表文件 (.symbol) 的工具。 如果项目工程中没有 Native 代码,但使用了代码混淆 proguard,那么只需要上传 Proguard 生成的 Mapping 文件。该符号表也支持 Mapping 文件的上传,具体方法请参看下文。
1.1 环境要求
符号表工具的运行需要 Java 运行环境(Java SE Runtime Envrionment),JRE 或者 JDK 版本需要>=1.6。
1.2 符号表提取要求
提取符号表需要符号表工具和 Debug SO 文件(具有调试信息的 SO 的文件,可参考下文的第三部分:“3. Debug SO 文件”)。
1.3 上传功能
CrashSight Android 符号表工具 2.5.0 及以上版本增加了上传功能,并支持 Mapping 文件的上传。 使用上传功能时,需要指定以下信息: App ID App Key App 版本 App 包名 上报地址
1.4 如何获取 App ID 和 App Key

2 提取符号表文件的方法

符号表工具支持 Windows、Linux、Mac 三个平台,提供了 JAR 包 crashSightSymbolAndroid.jar,crashSightSymboliOS.jar
进入官网下载符号表:
国内:https://crashsight.qq.com
出海/海外:https://crashsight.wetest.net

2.1 工具使用方法及选项

注意该版本的符号表工具默认不生成 Symbol 文件,如果需要指定"-symbol"参数运行符号表工具。
上报 URL:默认新加坡
⦁ 国内:https://api.crashsight.qq.com/openapi/file/upload/symbol
⦁ 新加坡:https://crashsight.wetest.net/openapi/file/upload/symbol
2.2 使用示例
以下为具体使用示例,实际使用需要根据项目的具体情况更改下。
#2.2.1 Debug SO 的符号表生成和上传
示例信息如下:

生成符号表文件并自动上传
使用符号表工具的 JAR 包生成符号表文件,并自动上传的命令如下:

注:上述示例命令中使用的上报地址为海外,如上传国内环境,自需替换国内环境:https://api.crashsight.qq.com/openapi/file/upload/symbol
#2.2.2 Mapping 文件的上传
示例信息如下:

使用符号表工具上传 Mapping 文件的命令如下:

注:上述示例命令中使用的上报地址为海外,如上传国内环境,自需替换国内环境:https://api.crashsight.qq.com/openapi/file/upload/symbol
常见问题
⦁ 符号表工具的具体输入文件是什么?
安卓需要输入的文件是带调试信息的.so 文件,iOS 的输入是 dsym 文件
⦁ 符号表的 UUID 是什么?
UUID 是 so/dsym 内置的属性,同一份文件,该值不会改变;
⦁ 符号表的上传更新是增量更新还是覆盖更新?
相同 UUID 会覆盖,不同 UUID 会保留.
⦁ 使用符号表上传工具,上传完成之后怎么自动确认(校验)上传是成功了的。
一般来说符号表工具成功执行完成,就是成功了。也可以在页面检查对应版本的符号表是否上传。
⦁ 上传工具需要更新的话,是如何进行通知以及更新的? 非必要更新,是会放到本文档中。如果存在必须要更新才能使用的情况,会通过接入时的沟通渠道进行联系。

写在最后:

CrashSight 为开发者提供异常捕获,上报和分析服务。帮助开发者快速定位并解决异常问题,降低产品崩溃率,提升用户体验。支持移动/PC/主机全平台,主要包括:
平台:
⦁ 移动端:iOS、Android
⦁ PC 端:Windows
⦁ 主机端:Nintendo Switch、PS4、XBOX
语言:
⦁ C/C++/C#、Java、Object-C/Swift
引擎:
⦁ Unity,UE4,Cocos
立刻前往官网:
国内:https://crashsight.qq.com
出海/海外:https://crashsight.wetest.net

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册