Symbolicating crash logs is something that I generally only have to do towards the end of a release cycle and I always have to do a bit of relearning. The symbolication process in XCode used to be an unreliable mess, but thankfully XCode 5 seems to have resolved most of the issues.
Here is my list of things to remember when symbolicating builds that didn't come from my machine:
- Dump all of the crash reports into a folder that is indexed by finder (I like just putting it on the desktop).
- Download the .dsym and the .ipa file from our build server and for organization sake dump them in the crash reports folder.
- Open the ipa using an archive utility (it's just a zip file with a different extension) and pull the .app out of the payload and put it in the folder.
- Open xcode organizer and import the logs, if everything is right they should symbolicate as you look at them.
I learned that the symbolication process writes out to stderr when it fails which is helpful. If your files aren't symbolicating and you think they should be then you can search console.log for "[symbolicatecrash] stderr:". You can dig into the payload on one of those errors search for your app name, you'll find a section where it shows you all of the searches it did to find a dsym and an app file and this will help your figure out which one is unreachable.
Comments