我尝试编译库并使用“DWARF with dSYM File”格式获取调试符号。这适用于动态但不适用于静态库。
XCode“快速帮助”表示“不需要dSYM文件,也不会为静态库或目标文件产品创建。”[dwarf-with-dsym]“
任何人都可以解释原因吗?
THX
答案 0 :(得分:3)
我偶然发现了这一点,并希望对此有所了解
由于静态库并不是真正的可执行文件,因此它仍将包含符号。因此,没有dSYM的意义,当该库又被另一个应用程序使用时,就会有一个dSYM,其中包含该应用程序的符号和您的静态框架的符号。
另一方面,动态框架本身就是一个可执行文件,从某种意义上说,它已经准备好被加载到应用程序中并且已经在其中发生了喜好。因此,您库中的所有符号都已经转换为机器代码,但是有一个dSYM,其中将包含您符号的映射。为一些像我这样可怜的灵魂添加了此内容,如果我需要进一步说明,则为lmk。