.dSYM files generated from command line (Mac)

2019-04-05 07:29发布

问题:

I just started coding in C, and ran someone else's Makefile with the default C compiler set to gcc. I am on Mac OSX 10.8 Mountain Lion and I believe I installed the compiler with "XCode Command Line Tools." After running "make" on command line, I get these annoying .dSYM files for each program. I read that these are debug files, but are they really necessary? Is there any way to prevent them from being generated from command line?

回答1:

Yes, the dSYM files are necessary. Specifically, they contain the symbol tables that are included within Xcode debug builds; release builds put the symbols in this separate file. If you ever need to analyze a stack trace from a release build you will need this. And make sure you don't lose the files, because doing the build again, even if the source is absolutely the same, won't produce a usable dSYM file. Each build is given a UUID and that changes with each build, even if the source has not changed. (I guess it includes a timestamp or even a random number.)

If you throw away the dSYM files, then if you suddenly find your app crashing a lot, you may be sorry.



回答2:

The -g flag to GCC will generate debug symbols. You may simply remove that flag from CFLAGS.



回答3:

They're only necessary if you need to interpret locations in stack traces within a crash report.