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 :
- take the crash report
- combine with the dSym file generated from your release build (you kept it right?)
- 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')";
#die "Can't understand the output from otool ($TESTuuid -> '$otool -arch $arch -l $path')"; print "Can't understand the output from otool ($TESTuuid)";