在OSX上链接来自多个目标文件的二进制文件时,如
clang++ -g myfile.cpp -o myfile.o
clang++ myfile.o -shared -o myfile.dylib
它会在.debug_info
中生成myfile.o
部分(等),但在myfile.dylib
中,它只存储对myfile.o
的引用,您必须运行dsymutil myfile.dylib
手动。 dsymutil
将目标文件中的所有.debug_info
部分链接在一起,并将其存储在myfile.dylib.dSYM
捆绑包中。
我的问题是:有没有办法让Clang在编译期间实际链接调试信息并将其直接存储在myfile.dylib
中?
如果无法做到这一点,是否可以在.dSYM
生成后将.dylib
包嵌入其中?