Why doesn't two-step build of the command line with clang create a dSYM directory?

I have a simple project that I want to debug, I want to create a dSYM folder with debugging symbols.

Duration:

clang++ -std=c++14 -stdlib=libc++ -g -o Lazy Lazy.cpp

Creates Lazy.dSYM as I expect.

But:

clang++ -std=c++14 -stdlib=libc++ -g -c Lazy.cpp
clang++ -stdlib=libc++ -g -o Lazy Lazy.o

Does not create Lazy.dSYM (it seems that the characters are embedded in the binary).

Unfortunately, a 2-step build is what my modified make file does. How can I create Lazy.dSYM from a two-stage compilation and link assembly?

I do not need the dSYM directory, just debugging the characters, but I would like to understand when and why it was created.

+5
source share
1 answer

.dSYM dsymutil. Apple DWARF, " " " ". , , dsymutil.

, , dsymutil . , , . -v (a.k.a. --verbose) , dsymutil , .

, , . . , :

dsymutil <your_program>

Apple, Apple DWARF, . .

+8

Source: https://habr.com/ru/post/1016212/


All Articles