Xcode 4中没有外部库的符号/源代码

我的应用程序没有看到一个库的源代码:

  • 如果我在库方法的“跳转到定义”,XCode带我到.h文件,但说没有.cpp对应
  • 在debugging时,我看不到任何源代码,并且库的大部分调用堆栈都已丢失: 在这里输入图像说明
  • 我已经确保“debugging时显示反汇编”是UNchecked

我build立了库作为debugging,然后打包头+ .a文件到SDK目录。 所以我想我需要将debugging文件复制到该SDK目录,或者告诉我的应用程序在哪里看。 我不知道该怎么做。

为了澄清,我的应用程序项目不保留对图书馆项目的参考,只对.a文件和标题目录。 这是因为库项目是由CMake创build的,我不想修改它。

首先,您应该检查静态库的.debug_str部分,以validation它是否包含适当的debugging信息。

尝试在terminal上运行此命令:

xcrun dwarfdump /path/to/library.a | grep "\.m" 

你应该看到打印出来的一堆源(.m)文件path。 从理论上讲,这是Xcode在debugging器中停止时的样子,所以确保这里的path是正确的。 如果看不到任何path,则需要传递适当的debugging标志(例如,在构build库时将-g传递给编译器。

如果path在某种程度上是不正确的,或者你想把它们指向其他位置,你可以修改它们作为CMake构build过程的一部分,例如使它们相对于你的项目目录。 尝试查看“ Make gcc将相关文件名放在debugging信息中 ”,它使用CMake来调整这些debuggingpath。