移动APP崩溃捕获解决方案CrashSight之常用术语解释(下)

138 阅读3分钟

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

国内:crashsight.qq.com 出海/海外:crashsight.wetest.net

1 介绍

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

1.png

为什么要配置符号表?

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

2.png

而符号表工具,正是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

1.png 2 提取符号表文件的方法

符号表工具支持Windows、Linux、Mac三个平台,提供了JAR包crashSightSymbolAndroid.jar,crashSightSymboliOS.jar

进入官网下载符号表:

国内:crashsight.qq.com 出海/海外:crashsight.wetest.net

2.1 工具使用方法及选项

4.png

注意该版本的符号表工具默认不生成Symbol文件,如果需要指定"-symbol"参数运行符号表工具。

上报URL:默认新加坡

⦁ 国内:api.crashsight.qq.com/openapi/fil… ⦁ 新加坡:crashsight.wetest.net/openapi/fil…

2.2 使用示例

以下为具体使用示例,实际使用需要根据项目的具体情况更改下。

#2.2.1 Debug SO的符号表生成和上传

示例信息如下:

5.png 生成符号表文件并自动上传

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

6.png

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

示例信息如下:

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

8.png 注:上述示例命令中使用的上报地址为海外,如上传国内环境,自需替换国内环境:api.crashsight.qq.com/openapi/fil…

常见问题

⦁ 符号表工具的具体输入文件是什么?

安卓需要输入的文件是带调试信息的.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 立刻前往官网: 国内:crashsight.qq.com 出海/海外:crashsight.wetest.net