Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode: Should I Strip Debug Symbols During Copy?

The TestFlight SDK recommends setting Strip Debug Symbols During Copy to YES in Xcode Build Settings to enable the best crash reporting possible. I noticed that it's set to YES by default.

Should I change it to YES? Why or why not?

like image 509
ma11hew28 Avatar asked Jan 11 '12 23:01

ma11hew28


People also ask

How do I get rid of debug symbols?

To remove debugging symbols from a binary (which must be an a. out or ELF binary), run strip --strip-debug filename. Wildcards can be used to treat multiple files (use something like strip --strip-debug $LFS/tools/bin/*).

What is debug symbols in Xcode?

These symbols correspond to the file and line numbers where they're defined; this association creates a debug symbol, so you can use the debugger in Xcode, or refer to line numbers reported by a crash report.

How do you know if a debug symbol is present?

To check if there's debug info inside the kernel object, you can add the following at the end of the objdump command: | grep debug . If this string is found, you know the kernel object contains debug information. If not, then it's a "clean" kernel object.

What is the meaning of debug symbols?

A debug symbol is a special kind of symbol that attaches additional information to the symbol table of an object file, such as a shared library or an executable.


1 Answers

I work at TestFlight. Short answer is: set it to YES.

Long answer:

@Kerni is correct. Before we started symbolicating server side, we needed that data to symbolicate on device.

So if you upload your dSYM to TestFlight, you can strip them. If you don't want to upload your dSYM for some reason, you can leave them in and TestFlight can symbolicate on device.

Basically the README was not updated. Sorry @Manni! I will update it for the next release. (I'm going to remove that entire section).

Sorry about the confusion!

like image 53
jasongregori Avatar answered Sep 22 '22 12:09

jasongregori