Customer Cases
Pricing

How to Utilize CrashSight's Symbol Table Tool for Efficient Debugging

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.
 

1. What is a Symbol Table and Why is it Important?

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.

1.1 Environment Requirements

- Java SE Runtime Environment (64-bit)

- JRE and JDK version 1.6 or higher

1.2 Symbol Table Extraction Requirements

- Symbol Table Tool

- Debug (unstripped) SO file

1.3 Uploading Symbol Table

CrashSight Android Symbol Table Tool v2.5.0 and above support uploading features, including Mapping file uploading.

2. How to Extract Symbol Tables

The Symbol Table Tool supports Windows, Linux, and Mac platforms, providing crashSightSymbolAndroid.jar and crashSightSymboliOS.jar files.

2.1 Tool Usage and Options

 

 

jar -jar <JAR file> [-option <parameter>]

 

2.2 Usage Example

2.2.1 Symbol Table Generation and Uploading for Debug SO

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

 

2.2.2 Upload Mapping Files

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

 

3. FAQs

- 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.

Latest Posts
1CAP & BASE Theory: Distributed System High Availability & Chaos Engineering Learn the CAP and BASE theories for distributed systems, including Consistency, Availability, Partition Tolerance, and practical chaos engineering testing strategies for Kubernetes and MySQL architectures.
2LLM-Powered Test Case Generation & Optimization: Full QA Practical Guide Master LLM-powered test case generation & full lifecycle optimization. Learn standardized workflows, edge case design, enterprise implementation & common pitfalls for modern QA teams.
3How to Build a Complete Performance Testing Knowledge System Learn how to build a systematic performance testing knowledge system, master core terminology, pressure models, system architecture, monitoring, troubleshooting and practical testing skills.
4Prompt Engineering for Intelligent Testing: LLM Optimization & Cases Master 6 core prompt optimization techniques for AI-powered intelligent testing. Explore real enterprise cases, common pitfalls and best practices to stabilize LLM outputs for software testing.
5Online Game Protocol Testing: Complete Interface Testing Guide Learn online game protocol testing basics, common TCP/UDP/WebSocket protocols, packet capture & injection methods, and practical test case design for game interface testing.