为什么Xcode不为静态库生成dSYM

时间:2018-05-30 12:04:46

标签: xcode dsym

我尝试编译库并使用“DWARF with dSYM File”格式获取调试符号。这适用于动态但不适用于静态库。

XCode“快速帮助”表示“不需要dSYM文件,也不会为静态库或目标文件产品创建。”[dwarf-with-dsym]“

任何人都可以解释原因吗?

THX

1 个答案:

答案 0 :(得分:3)

我偶然发现了这一点,并希望对此有所了解

由于静态库并不是真正的可执行文件,因此它仍将包含符号。因此,没有dSYM的意义,当该库又被另一个应用程序使用时,就会有一个dSYM,其中包含该应用程序的符号和您的静态框架的符号。

另一方面,动态框架本身就是一个可执行文件,从某种意义上说,它已经准备好被加载到应用程序中并且已经在其中发生了喜好。因此,您库中的所有符号都已经转换为机器代码,但是有一个dSYM,其中将包含您符号的映射。

为一些像我这样可怜的灵魂添加了此内容,如果我需要进一步说明,则为lmk。