-
-
Save anonymous/cdb5ba3791cfd7d312c2 to your computer and use it in GitHub Desktop.
Symbolicating bitcode compiled iOS apps
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Just thought I'd reply to myself since I wasted close to a week figuring this out. It looks like bitcode is basically just compiling an armv7 and arm64 version of the code you submit, but the UUIDs on the objects from user crashes don't match the UUIDs from dSYMs. You can symbolicate a crash by doing the following: | |
1. In Organizer under 'Archives' click 'Download dSYMs...' for the relevant build. | |
2. Run this command against the actual binary/framework you want to symbolicate (replace arm64 with armv7 if not a 64 bit build crash): | |
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -arch arm64 -l '/Users/blah/Library/Developer/Xcode/Archives/2016-03-03/PRODUCT 3-3-16, 4.43 PM.xcarchive/Products/Applications/PRODUCT.app/PRODUCT' | |
Look for: | |
Load command 9 | |
cmd LC_UUID | |
cmdsize 24 | |
uuid D73721E6-F521-36C8-ABFF-AAE15EEDD60D | |
Turn that uuid string into a lowercase string without -'s: | |
d73721e6f52136c8abffaae15eedd60d | |
3: Open your .crash in a text editor and look for: | |
Binary Images: | |
0x100058000 - 0x10036ffff PRODUCT arm64 <8c84e74d19b1313ca77ff8cef337beb9> /var/mobile/Containers/Bundle/Application/10513186-CB5C-4896-AEE9-61436934C882/PRODUCT.app/PRODUCT | |
Change '8c84e74d19b1313ca77ff8cef337beb9' to the value from before, i.e., 'd73721e6f52136c8abffaae15eedd60d'. | |
Save the .crash. | |
Run symbolicatecrash on it. It should work. | |
The end. | |
Unfortunately the Xcode 'Crashes' tab is completely broken with Bitcode turned on. I don't know if this is fixed for 7.3/9.3, but it's probably too late. |
I always get "/usr/bin/otool: internal objdump command failed" What can I do?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks for the gist. Didn't fixed in Xcode 8.
Anyway, I've made a tool to automate the process. Hope it helps someone.
https://github.com/chebur/Symbolicator