I used the following script to symbolize the crash report I got from the user:
/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneRemoteDevice.xcodeplugin/Contents/Resources/symbolicatecrash myapp_iPod-Touch.crash myapp.app.dSYM > test.txt
It matches up all of the framework calls but none of my code. How can I make it mach up my code?. Give me some ideas please!
As Craig Hockenberry points out, the dSYM file you use for this must be the exact one produced when you compiled the version of the application your user is running. If you did not save that file, you will be unable to resolve the symbols within your own application. You can't use whatever dSYM file is produced by your latest build to run against an older submitted version of your application.
UPDATE In XCode 4, circa 2012, symbolification works great in the XCode Organizer, even if the dSYMs have a space in their path (I think).
p.s. keep your dSYMs under version control
UPDATE As of XCode 3.2.5 (November 2010) the symbolification done in Device Logs in the Organizer Window seems to work pretty well.
First of all, symbolicatecrash is rubbish*, but before diving in and fixing it, make sure that your .app bundle is in the same directory as your .dSYM.
Do you have dots or dashes in the app file name or identifier? If so, you should apply the Alan Quatermain fix. It's intended for reading 3.0 crashdumps in a 2.x environment, but it also correctly handles dots and dashes in the app name and ID. Duh. Regular expressions am hard.
After that you're going to have to hack perl. Try ./symbolicatecrash -Av mycrash.crash > /dev/null to see where it's going wrong.
For my problem, I had to comment out both the quoteMeta($dsymdir); and chop($executable); lines. Then I had something that vaguely worked.
And this was a shipping product. Welcome to the future.
As of *SDK 2.2.1, who knows, maybe in the 3.0 GM it's robust. It could happen.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With