Crash Log Symbolication Trouble Shooting Guide
If your crash logs are not being symbolicated, or partially symbolicated, please use the following guide before contacting support[at]app47.com.
Verify correct agent version
You must have the iOS agent version 2.4 or higher installed in the application. You can download this from the resource area of the portal.
You can find the agent version in one of two places.
If running locally on a device and you have access to the raw console log, the agent will report the current version.
Embedded Agent version 2.4 started and ready for service.
When viewing a specific log message, the Agent, along with the OS and App Version, are reported in the log details area.
Application Symbols not symbolicated
If your application symbols are not be symbolicated, the reason is either no dSYM is uploaded, or the wrong one is uploaded to the service.
Uploading your dSYM file
To fully symbolicate the crash log, the dSYM file associated with that specific build must be uploaded to the App47 service and associated with the build. There three ways to upload your dSYM file.
Verify the correct dSYM file is uploaded
If you believe you have uploaded the correct dSYM file, but your application symbols are still not being symbolicated, please check the UUID for both the crash log and the dSYM.
Find the UUID for a given log file
Using the UI portal, navigate to 'Analyze' ⇒ 'Logs' and find a crash log that is not symbolicated. Expand the log details by clicking on the down triangle.
After all the threads are presented, the list of Binary Images are presented in the crash log, the very first entry will be your application.
Binary Images: 0x10008c000 - 0x10013bfff +Agent arm64 <854cd1e1b2a23403836e6c7fc4e72cf5> /var/containers/Bundle/Application/8FE4D2D2-2AC6-4B91-A940-D016C8F9500E/Agent.app/Agent
is the UUID for this crash log. There must be a matching dSYM file that has a matching UUID to symbolicate this crash log.
Find the UUID for a given build
There are two ways to check the UUID, locally on your machine and through the UI portal.
Verify the dSYM UUID through the UI Portal
Navigate to 'Manage' ⇒ 'Builds'.
Select the application you are trouble shooting.
Select the iOS build you believe should have the correct dSYM UUID. Do this by clicking on the link for the version of the build.
If the build has a dSYM file associated with it, there will be two entries in the “Build Information” table.
dSYM URL - URL to download the dSYM file previously uploaded
Build UUID - list of UUIDs contained in the dSYM file, one of these values must match the UUID previously found in the crash log.
Note: The symbolication engine first tries the associated dSYM file matching the app version reported by the agent. If the symbolication does not work, it will try other builds that contain a dsym file in order to best symbolicate your crash log file.
Verify the dSYM UUID locally
With the dSYM file (it's actually a directory) locally on your iOS machine with Xcode installed, issue the following command:
dwarfdump --uuid yourapp.app.dSYM
This will report the UUIDs contained in the dSYM, please note that you will need to lower case all characters and remove the “-” from the dwarfdump command to match the UUID found in the crash log.
System Symbols not symbolicated
If symbols outside of your application are not symbolicated, then the device symbol files are missing from our symbolication service. This is where we can use your help!! We have tried our best to capture as many device symbols we have access too, however each version and device type is unique, so you can imagine there are many permutations in the world.
If your system symbols are not symbolicated and you would like to contribute symbols from your environment, please let us know by sending an email to support[at]app47.com and we'll grant you access to the folder: https://app47.box.com/v/iOSDeviceSupport.
This will allow you to view the symbols currently available as well as upload additional symbols.
Uploading additional symbols
Once you have access to the Box folder setup for iOS Device symbols, please go to your development machine and open finder to: ~/Library/Developer/Xcode/iOS DeviceSupport.
You can compare files contained in https://app47.box.com/v/iOSDeviceSupport and what you have locally. If you have a directory not on our box folder, you can upload the directory one of two ways:
Use the Box Sync application to copy the folder over. Each folder is approximately 2GB, so it will take some time to sync.
Zip the folder up locally and then use the file upload tool to upload the zip file. Our support team will be notified of the new file and will unzip it in place.
WE THANK YOU!! Very much for helping us improve iOS Crash Log symbolication!!