iPhone Crash Reports - use symbolicatecrash

iPhone Crash Reports_ the mobile developer's key to debugging what went wrong in a user's device interacting with your app.

While debugging tonight, I found the report crazy symbolicated (i.e. all the states were replaced with the memory locations). To de-symbolicate, use the tool symbolicatecrash, a fun unix script designed to :

  1. take the crash report
  2. combine with the dSym file generated from your release build (you kept it right?)
  3. output a de-symbolized, readable file

I found my symbolicatecrash here_ Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks /DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash

After some advice online, I copied it into my /usr/local/bin folder_ sudo cp /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks /DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash /usr/local/bin Then put the two files together and run a statement like this (names have been changed to protect the app I debugged): symbolicatecrash test.crash test.app.dSYM > report-with-symbols.crash

And you have readable crash files!

One, note, I ran into this error_ Can't understand the output from otool

To fix that, open up your symbolicate crash, and replace this line (around line 301): die "Can't understand the output from otool ($TEST_uuid -> '$otool -arch $arch -l $path')";

with this_

#die "Can't understand the output from otool ($TESTuuid -> '$otool -arch $arch -l $path')"; print "Can't understand the output from otool ($TESTuuid)";

References_

  • http://efreedom.com/Question/1-1207223/iPhone-SDK-30-Symbolicatecrash-Getting-Along
  • http://www.anoshkin.net/blog/2008/09/09/iphone-crash-logs/
  • http://furbo.org/2008/08/08/symbolicatifination/

This article is my 39th oldest. It is 201 words long, and it’s got 0 comments for now.