Forcing crash symbolication in crashes organizer and Xcode 7
Asked Answered
H

2

16

Currently, my crash organizer looks as follows. enter image description here

I have not really worked with crash logs before, but to me the crashes do not look symbolicated. I am unable to find where the app has crashed and for what reason. In addition, when I open the stack trace in the project, nothing is highlighted and I cannot tell and which line it crashed in the file. My question is: is there a way to symbolicate all these crashes from within the organizer, or must it be done through terminal?

Thanks.

Hallel answered 29/10, 2015 at 0:0 Comment(3)
This probably a duplicate of this bug. Valid, nevertheless.Abseil
The link in the previous comment deals with TestFlight, but I'm not using TestFlight and I'm seeing the same problem.Solidstate
Possible duplicate of New XCode Crash Organizer Does Not Symbolicate .xccrashpoint FilesJollification
S
29

What you're seeing is that the SDK classes like UITableView are symbolicated, but classes from your "YLSA" app are not. Both should be symbolicated automatically, but in my experience one or the other (or both) often do not symbolicate. I've been developing for iOS for five years and this has been a persistent problem through all the different Xcode versions.

Thank you for not symbolicating

I'm seeing the same problem as you in Xcode 7, but I was able to symbolicate my logs with this workaround:

  1. In the list of crash logs, right-click the desired log and select Show in Finder. This will show you a package containing one or more .crash files and some metadata.
  2. Navigate through the package until you find a crash log. You will see that the same info has or hasn't been symbolicated here.
  3. In Xcode, open the Devices window and select a connected device, then click the View Device Logs button.
  4. Drag the crash log in step 2 from the Finder into the list of logs for this device.
  5. When I do this, I never see the log I added appear in the list, but if I click the headings once or twice to re-sort the list, then I see it.
  6. After a moment, the crash log will become completely symbolicated.

If you already have a lot of logs in your list, you can compare the date, iOS version and hardware model as you view the log in the Finder to the logs in Xcode to make sure you're viewing the same log. Then look at the line that says "Triggered by Thread" to get the thread number that crashed, then scroll down to that thread to see the code that triggered the crash.

This worked for me today with Xcode 7. I hope it helps you!

Solidstate answered 17/11, 2015 at 19:16 Comment(8)
I followed your instructions and it does not seem to change anything. I should add, most of the crashes were generated on other user's devices, not mine, and collected by Apple.Hallel
My crashes were also generated on other users' devices and collected by Apple. I'm sorry this solution didn't work for you. It's a terribly unreliable system, in my experience, and I've had to use a variety of workarounds at different times over the years.Solidstate
The workaround is not obvious but works for me with Xcode 7.2Hardset
At first it is not working for me either, but with a right click on the crash in the list (within View Device Logs Screen) click "re-symbolicate", than it works :) Thx for sharing your solution! +1Cupulate
Thanks for these detailed instructions. I also was unable to get it to work. Wish Apple would fix this...Pointtopoint
For those who prefer the terminal: you can find all .crash files downloaded and partially symbolicated by Xcode and then run symbolicatecrash again on them.Purplish
this will work only if xcode has the archive that was used to send a build to iTunesConnect. If you are on other Mac, you are out of luck.Typhoeus
Thanks! worked for me with Xcode 7.3.1, the only thing missing in your answer is that i had to download the DSym file of the proper version. You can do this by selecting the Archive in the organizer and clicking the "Download dSYMs..." option at the right of the screen.Kyles
S
0

When you submit apps through Xcode, an option will appear to include debug symbols. Next time you submit an app version, be sure to select that; if you did not, that might explain the problem you're seeing. Unfortunately there's no way to retroactively do that for app versions already submitted, so you'll have to wait until you're ready to submit the next version to see if that was the problem.

Solidstate answered 23/11, 2015 at 1:16 Comment(1)
In my experience that makes no difference. We always do it. We never get symbolicated traces.Colophon

© 2022 - 2024 — McMap. All rights reserved.