我刚开始使用 Xcode 4,发现无论我如何在项目中设置调试符号,Instruments 都拒绝显示与我的代码对应的堆栈跟踪项的源代码行。In 仅显示十六进制偏移量并将我的可执行文件标识为拥有模块。打开“源位置”也会产生空白。即使对于 Xcode 生成的骨架 OpenGL ES 项目也会发生这种情况(文件 → 新建 → 新项目... → iOS → 应用程序 → OpenGL ES 应用程序)。
这个问题只发生在 Instruments 中(到目前为止我已经尝试过 CPU 和 OpenGL 跟踪)。Gdb 可以很好地提取调试符号。
我是否必须做一些特别的事情才能在 Instruments 中查看堆栈跟踪的源代码,或者这是 Xcode 4 中的错误?
到目前为止,我已经:
Debug Information Format
从更改DWARF with dSYM File
为DWARF
。Strip Debug Symbols During Copy
从更改Yes
为No
。- 将构建方案更改为使用 Debug 构建而不是带有 Instruments 的 Release 构建。