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...
⦁ 新加坡:https://crashsight.wetest.net...
2.2 使用示例
以下为具体使用示例,实际使用需要根据项目的具体情况更改下。
2.2.1 Debug SO的符号表生成和上传
示例信息如下:

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


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

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

注:上述示例命令中使用的上报地址为海外,如上传国内环境,自需替换国内环境:https://api.crashsight.qq.com...
常见问题
⦁ 符号表工具的具体输入文件是什么?
安卓需要输入的文件是带调试信息的.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


腾讯WeTest
590 声望149 粉丝

WeTest是腾讯游戏官方出品的一站式测试服务平台,