tags:

views:

4212

answers:

4

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!

+1  A: 

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.

Brad Larson
But: I _should_ be able to sync back to the tagged checkin in my source control system, re-build it, and use _those_ dSYMS, right? Having no end of trouble with symbolicatecrash ATM.
Dave Peck
This assumes that everything is identical on your system between the time you first compiled the application and now. If you've upgraded Xcode or the iPhone SDK, you may not be generating the exact same binary now as you did when you submitted the application.
Brad Larson
+3  A: 

There is a known issue in the symbolicatecrash utility that ships with iPhone SDK 2.2.1 also, if that's the SDK you're currently using. You need to download the new binary from http://developer.apple.com/iphone/library/technotes/tn2008/tn2151.html

Hope this helps your troubles.

+2  A: 

There is a new Symbolicator script that has been released that might help

epatel
It doesn't work on iPhone crash logs yet, though. I'm not an iPhone developer, so it'd be hard for me to do that (especially without iPhone-app dSYM bundles to test with). Patches welcome.
Peter Hosey
A: 

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.

Rhythmic Fistman