- 将
Debug Information Format
从DWARF with dSYM File
更改为DWARF
。 - 将
Strip Debug Symbols During Copy
从Yes
更改为No
。 - 将构建方案更改为使用带有Instruments的Debug构建而不是Release构建。
Debug Information Format
从DWARF with dSYM File
更改为DWARF
。Strip Debug Symbols During Copy
从Yes
更改为No
。其他回答提供了很好的长期解决方案。如果您不想等待 Spotlight 重建索引,只需要为一个Instruments会话获取符号,则可以要求Instruments对当前会话进行符号化。
我今天遇到了这个问题并用以下方法解决:
就应该可以了。需要注意的是,出于某种原因,构建目标未设置为与配置文件目标相同的构建配置,这已经让我犯了不止一次的错误。
-g3
)。dsymutil
。仪器没有符号的原因可能是Spotlight无法找到dSYM文件。因此,从DWARF with dSYM
变更为DWARF
并不是个好主意。你应该将其改回来,因为没有dSYM文件,你就无法获取符号(至少在Snow Leopard中似乎是这样,我看到有些人报告说他们也没有dSYM文件就能得到符号,然而这些人都在使用Lion)。在进行更改后,请确保创建一个清洁的构建(有时Xcode在我的系统上无法为非干净的构建生成dSYM文件)。
如果经过所有尝试之后仍然无法获得符号,则可能是您的Spotlight数据库出现了问题。尝试将包含dSYM文件的文件夹添加到Spotlight不应索引的文件夹列表中,然后再将其从该列表中删除。这会导致Spotlight重新索引文件。
如果这仍然无法解决问题,可能是你的Spotlight索引完全损坏了。在这种情况下,请在终端上尝试以下操作:
sudo mdutil -i off /
sudo mdutil -E /
sudo mdutil -i on /
mduitl
与mdutil
)。无法修复,因为在Stack Overflow上的更改必须是6个或更多字符。天哪! - Rudolf Adamkovič它突然开始工作了,没有任何原因。
我花了半个小时尝试让它再次失败,希望在这里提供一个更有用的答案,但是我无法做到,即使重新创建了骨架OpenGL程序并追溯了所有步骤。
我确实在emacs中打开了symbolicatecrash脚本(在其他地方已经涉及到这种问题),并且在我这样做之后它开始工作了。 但是在任何时候我都没有更改或保存它。
这是一个谜。
这是我的环境...
我在模拟器中遇到了同样的问题,所有标准的解决方法都不起作用,这让我很烦恼。
对我有用的是将iPad插入MacBook并针对插入的iPad上的应用程序运行仪器会话。当在iPad上运行时,Instruments正确地符号化了我的应用程序,然后在我断开iPad并稍后在模拟器中运行仪器时继续工作。
我怀疑这与更新我的项目使用以下内容有关...
我不知道为什么会这样,但这是我失去符号的唯一项目更改。