我试着编译库并得到"DWARF with dSYM File"格式的调试符号。这对动态库有效,但对静态库无效。XCode "快速帮助"指出"不需要dSYM文件,也不会为静态库或对象文件产品创建dSYM文件)。[dwarf-with-dsym]"谁能解释一下为什么?谢谢
nom7f22z1#
我偶然发现了这个,希望能对同样的事情有所启发因为静态库不是一个真正的可执行文件,它仍然包含其中的符号,所以dSYM没有意义,当这个库被另一个应用程序使用时,就会有一个包含应用程序符号和静态框架符号的dSYM。另一方面,动态框架本身就是一个可执行文件,它可以被加载到应用程序中,并且已经在它上面进行了链接。因此,库中的所有符号都已经被转换为机器码,但是还有一个dSYM,它将包含符号的Map。为一些像我这样可怜的灵魂添加了这个,lmk如果我需要进一步解释这个的话。
1条答案
按热度按时间nom7f22z1#
我偶然发现了这个,希望能对同样的事情有所启发
因为静态库不是一个真正的可执行文件,它仍然包含其中的符号,所以dSYM没有意义,当这个库被另一个应用程序使用时,就会有一个包含应用程序符号和静态框架符号的dSYM。
另一方面,动态框架本身就是一个可执行文件,它可以被加载到应用程序中,并且已经在它上面进行了链接。因此,库中的所有符号都已经被转换为机器码,但是还有一个dSYM,它将包含符号的Map。
为一些像我这样可怜的灵魂添加了这个,lmk如果我需要进一步解释这个的话。