Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Symbolicating iPhone App Crash Reports

I'm looking to try and symbolicate my iPhone app's crash reports.

I retrieved the crash reports from iTunes Connect. I have the application binary that I submitted to the App Store and I have the dSYM file that was generated as part of the build.

I have all of these files together inside a single directory that is indexed by spotlight.

What now?

I have tried invoking:

symbolicatecrash crashreport.crash myApp.app.dSYM 

and it just outputs the same text that is in the crash report to start with, not symbolicated.

Am I doing something wrong?

like image 497
Jasarien Avatar asked Sep 22 '09 15:09

Jasarien


People also ask

How do I see crash reports on iPhone?

Open the Console app, from Applications > Utilities in Finder. Select Crash Reports. Locate crash reports for your app in the list.

What is Symbolicating?

Symbolication is the process of converting them into human readable, class/method names, file names, and line numbers.

How do I get TestFlight crash logs?

App Store Connect shows you all of your TestFlight feedback, including crash feedback. You can continue to download the raw feedback and crash log directly from App Store Connect or, new this year, you can open the associated crash right in the Organizer with the new Open in Xcode button.


1 Answers

Steps to analyze crash report from apple:

  1. Copy the release .app file which was pushed to the appstore, the .dSYM file that was created at the time of release and the crash report receive from APPLE into a FOLDER.

  2. OPEN terminal application and go to the folder created above (using cd command)

  3. Run atos -arch armv7 -o APPNAME.app/APPNAME MEMORY_LOCATION_OF_CRASH. The memory location should be the one at which the app crashed as per the report.

Ex: atos -arch armv7 -o 'APPNAME.app'/'APPNAME' 0x0003b508

This would show you the exact line, method name which resulted in crash.

Ex: [classname functionName:]; -510

Symbolicating IPA

if we use IPA for symbolicating - just rename the extention .ipa with .zip , extract it then we can get a Payload Folder which contain app. In this case we don't need .dSYM file.

Note

This can only work if the app binary does not have symbols stripped. By default release builds stripped the symbols. We can change it in project build settings "Strip Debug Symbols During Copy" to NO.

More details see this post

like image 198
Naveen Shan Avatar answered Oct 22 '22 03:10

Naveen Shan