Learn how to use CrashSight's Symbol Table Tool to extract and upload symbol table files, enabling efficient debugging and crash analysis for your apps.
A symbol table is a mapping table containing memory addresses, function names, file names, and line numbers. CrashSight uses symbol tables to analyze and retrace crash stacks, helping developers locate the code where a crash occurred quickly and accurately.
- Java SE Runtime Environment (64-bit)
- JRE and JDK version 1.6 or higher
- Symbol Table Tool
- Debug (unstripped) SO file
CrashSight Android Symbol Table Tool v2.5.0 and above support uploading features, including Mapping file uploading.
The Symbol Table Tool supports Windows, Linux, and Mac platforms, providing crashSightSymbolAndroid.jar and crashSightSymboliOS.jar files.
jar -jar <JAR file> [-option <parameter>]
Example:
- Operating system: Windows
- Directory of Debug SO: E:\Projects\Demo\obj
- App ID: 9000012345
- App Key: abcdefghijk
- App Package Name: com.batman.demo
- App Version: 2.3.1
Use the Symbol Table Tool's JAR file to generate the symbol table file and upload automatically:
java -jar crashSightSymbolAndroid.jar -i E:\Projects\Demo\obj -u -id 900012345 -key abcdefghijk -package com.batman.demo -version 2.3.1 -url https://crashsight.wetest.net/openapi/file/upload/symbol
Example:
- Operating system: Windows
- Android project directory: E:\Projects\Demo
- App ID: 9000012345
- App Key: abcdefghijk
- App Package Name: com.batman.demo
- App Version: 2.3.1
Use the Symbol Table Tool to upload Mapping files:
java -jar crashSightSymbolAndroid.jar -mapping E:\Projects\Demo\Mapping\mapping.txt -u -id 900012345 -key abcdefghijk -package com.batman.demo -version 2.3.1 -channel tencent -url https://crashsight.wetest.net/openapi/file/upload/symbol
- What is the input file of the Symbol Table Tool? For Android, input .so files with debugging info. For iOS, input dsym files.
- What is a Symbol Table's UUID? UUID is a built-in property of so/dsym. For one single file, its value remains the same.
- Does uploading a Symbol Table overwrite the previous table? The previous table will be overwritten if the two tables share the same UUID, but retained if the UUIDs are different.
- After using the Symbol Table uploading tool, how can I know whether the upload is successful? Usually, the upload is successful as long as the Symbol Table Tool is executed. You can also check on the page whether the Symbol Table of the corresponding version has been uploaded.
- How would I know when the uploading tool needs an update? And how to update it? If the update is optional, it will be included in this document. If the update is a must, users will be notified via the communication channel provided upon Integration.
By leveraging CrashSight's Symbol Table Tool, you can efficiently debug and analyze crashes in your app, ensuring a smooth and seamless user experience.