Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to symbolicate crashes in Xcode 7.3?

Can you help me get my crashes symbolicated?

In Xcode 7.3, Window -> Organizer -> Crashes, I have crash reports from my latest TestFlight builds. They were built on this Mac, and all the archives with the corresponding dSYMs are in the Archives tab. The app is divided into a number of frameworks and the main app, and many are a mix of Swift and Objective C. In the crash log I can see the name of the frameworks and app listed correctly, but all the entries for my frameworks and app are in hex. UIKit is symbolicated just fine.

When I look in iTunes Connect, it says "Yes" to "Includes Symbols" and allows me to download the dSYMs. When building, the "Debug Information Format" option was set to "DWARF with dSYM". I tried setting "Strip Debug Symbols During Copy" and "Strip Linked Product" to "No" to see if that made a difference. It didn't.

I cannot find the symbolicatecrash app on my system, not even in /usr/bin or /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash, but I have an older Xcode 5 where I could grab it. However, it does not resolve the symbols anymore.

I have the same problem in Instruments, if I profile my app, UIKit is symbolicated just fine, but my frameworks and app only show hex.

I know there have been a lot of posts about this, but I have going through them a lot from the 7.3 beta period and until now and have not found a solution

like image 367
niklassaers Avatar asked Mar 23 '16 21:03

niklassaers


3 Answers

The location of symbolicatecrash has changed in Xcode 7.3:

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

like image 142
David Rodrigues Avatar answered Oct 19 '22 11:10

David Rodrigues


After reading this:

https://developer.apple.com/library/content/technotes/tn2151/_index.html

you find out that the App Store is responsible for symbolicating crash reports that come from TestFlight – not Xcode. And it appears the App Store is very unreliable at doing it.

Here's a workaround.

  1. Go to the Archives tab in the "Organizer" window and make sure that for whatever build you need to symbolicate a crash report for, you have clicked the "Download dSYMS..." button over on the right side of the page. This is required if you are uploading in BitCode.

  2. Attach an iOS device so that it appears in the "Devices" window.

  3. Select the device and click "View Device Logs".

  4. Now, go back to the Organizer Window, select the "Crashes" tab and select one of the crashes that did not get symbolicated.

  5. Right-click on it and select "Show in Finder".

  6. Right-click on the revealed .xccrashpoint bundle and select "Show Package Contents".

  7. Drill down into DistributionInfos -> all -> Logs.

  8. Drag any of the .crash files into the left side of the "View Device Logs" pane open in the Devices window.

  9. Wait a second or two for Xcode to symbolicate the crash.

like image 26
David K. Hess Avatar answered Oct 19 '22 10:10

David K. Hess


Same here. Having a hard time finding the symbolicatecrash after upgrading to 7.3.

However, you can still use the atos though. You can find the tutorial here Symbolicate crash in iOS8 with Xcode 6 .1

like image 2
Tim Yang Avatar answered Oct 19 '22 12:10

Tim Yang