Saturn
Saturn

Reputation: 18139

Can I still symbolicate a distribution build that stripped its debug symbols?

I have two related questions actually:

  1. If I want to be able to symbolicate crash logs from a distribution build (that is, a build I gave to someone to beta test my application - not one that is already in the appstore), should I disable the "Strip Linked Product" and "Strip Debug Symbols During Copy" options for debug or for release? In fact, would it cause any kind of problem is I disable both of them forever (even in my appstore submission)?

  2. If I distributed a build to a beta tester, but it had enabled the "Strip Linked Product" and "Strip Debug Symbols During Copy" options, is there still a way to symbolicate their crash logs?

Upvotes: 6

Views: 1439

Answers (2)

Apurv
Apurv

Reputation: 17186

If you have distributed your application through build -> archive, you will have dSYM file associated with it. Now when you get crash report, there is no need to do anything. Drag the crash report into Xcode and it will be automatically get added to you Organizer section. If valid archive and dSYM file is available, Xcode will automatically symbolicate the crash log for you.

Upvotes: 2

indragie
indragie

Reputation: 18122

When you create an Archive (Build > Archive), the archive bundle will have a folder called dSYMS that contain dSYM file(s) (debug symbols file) for your application and other linked libraries. This means you can strip debug symbols from your products but keep the dSYM files to symbolicate crash reports. This post has more information on how to use the atos tool to symbolicate a crash report provided that you have the app binary and dSYM files.

In general, Debug builds have Strip Debug Symbols During Copy set to NO, and Release builds have it set to YES to reduce the binary size.

Upvotes: 3

Related Questions