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