Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Symbolicate crash failed on xcode 4.5

I just upgraded my xcode to version 4.5, I tried three ways for symbolicating crash log, but neither of them success.

Firstly, I got the crash log from my device and then imported it into "Device Logs" of Organizer, but the exact function of my app cannot be displayed, the memory address still displayed in result.

Secondly, I copied the 'symbolicatecrash' file from '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources' to '/usr/local/bin' and put the .DSYM file, .app file and .crash file into a folder, run the command: 'symbolicatecrash Myapp.crash', the result still display memory address.

Finally, I tried the method from http://xperienced.com.pl/blog/symbolicate-ios-crash-report, but still no lucky.

Could you please kindly help me with solve this question?

Thanks in advance!

like image 878
mobguang Avatar asked Sep 23 '12 07:09

mobguang


4 Answers

I solved it according to the discussion in https://github.com/TheRealKerni/QuincyKit/issues/46. And run the perl script from https://github.com/TheRealKerni/QuincyKit/blob/3c4a0b163ac71599a7795508fe6a91c1ced9daa6/server/local/symbolicatecrash.pl to get the correct result.

@Kerni, thank you for your script!

like image 175
mobguang Avatar answered Oct 07 '22 05:10

mobguang


If you have international characters in your app name (e.g. "ø", "ô", "ç") then symbolication will fail. The various steps during symbolication mess up these characters resulting in an invalid symbolication path.

like image 22
Kim Avatar answered Oct 07 '22 03:10

Kim


Have you turned off spotlight? symbolicatecrash uses spotlight to find the binaries and dsym files, so if you've turned off spotlight then it won't be able to find them. Anyway, here is how to convert a hex stacktrace address into a line number:

[1] Find the .dSym file by going to XCode->Organizer, clicking on archives, then right click on the archive, and cd into this directory (you can just drag the folder into a shell window).

[2] cd into the dSYMs directory.

[3] run the dwarfdump command to translate the hex address into a line number in your code:

dwarfdump --arch armv7 myApp.dSYM --lookup 0xaabbccdd | grep 'Line table'
like image 2
CpnCrunch Avatar answered Oct 07 '22 03:10

CpnCrunch


I had Xcode 4.5 and 4.4.1 installed, after deleting 4.4.1 the symbolicating problem was fixed.

like image 1
Gato Avatar answered Oct 07 '22 04:10

Gato