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
1Java Code Coverage: Principles, Instrumentation & CI/CD Best Practices Learn Java code coverage fundamentals, bytecode instrumentation with JaCoCo & Cobertura, and production-grade unit & integration testing CI/CD engineering practices.
2How to Build Effective Production Monitoring Systems | Full Guide 2026 Learn how to design, implement, and optimize production monitoring systems, covering system monitoring, business monitoring, alert strategies, and best practices for stable online service operation.
3How to Test Blockchain Systems: Challenges, Test Points and Performance Metrics Learn core blockchain testing challenges, key test scenarios, performance metrics, and differences between public, private and consortium chain QA for distributed ledger systems.
4How to Measure Test Development Value and SDET Output Metrics How to measure SDET and test development team value efficiently. Learn why saved engineer-days fails and how user adoption metrics accurately evaluate testing platform output.
5Pragmatic TDD Practices for Ruby on Rails Production Projects Explore practical Test-Driven Development strategies for Ruby on Rails projects. Learn selective testing, bug-driven coverage, RSwag API testing, and CI workflow best practices for production code.