Xcode静态库:符号在哪里?

时间:2015-02-16 13:03:31

标签: ios macos debugging ld dwarf

我们有一个相当大的(和旧的)项目,我们需要调试一个库中的C ++函数,这个函数已经很久没有被触及了(你问64位要求?你怎么猜?)

但我们得到的只是汇编代码。

有问题的图书馆是由一些古老的CMake wizzardry建造的,这使事情变得更加复杂。

我当前的主要问题是:如果dsymutil --symtab没有列出任何内容,那是否意味着.a文件中没有调试信息? 或者是否有另一种万无一失的方法来确定是否实际生成了DWARF调试信息?

我在问,因为在我创建的静态库的示例项目中,我在.o文件中看到了一个symtab,但是在生成的.a文件中没有。

1 个答案:

答案 0 :(得分:1)

事实证明,dsymutil在静态库中不能很好地工作(或者根本不能)。

使用ar -x提取.o文件,然后在它们上使用dsymutil似乎有效,从而解决了我的问题