首页 > 解决方案 > 为什么 Xcode 不为静态库生成 dSYM

问题描述

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

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

谁能解释为什么?

谢谢

标签: xcodedsym

解决方案


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

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

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

为像我这样的可怜的灵魂添加了这个,如果我需要进一步解释的话。


推荐阅读