Xcode的Time Profiler显示地址而不是符号

时间:2015-10-01 14:19:47

标签: ios xcode instruments

一般来说,我的问题可以在这个屏幕上看到:

许多非符号化的地址和“符号”菜单中看起来破碎的东西。

嗯,以及一些尝试解决此问题的设置和操作。 但没有人仍然有所帮助:

  • “配置文件”选项卡设置为使用“调试”
  • 针对Debug和Release
  • 禁用符号剥离
  • Debug和Release
  • 的优化级别为“none”
  • 清理,删除,重启等
  • mdimport~ / Library / Developer /
  • DWARF和dSYM格式

5 个答案:

答案 0 :(得分:3)

我遇到了同样的问题 - 并列出了你的清单上的所有内容。这是最终对我有用的东西:

  • 在仪器中,如果它正在运行,请停止该过程。
  • 转到文件 - >符号,在dSYM路径下,找到未被符号化的库。
  • 在我的情况下,它指向垃圾箱中的项目。所以我清空了Trash,在Derived Data文件夹中删除了模块缓存和项目,当我重建项目时,它又开始工作了。在您的情况下,它可能指向其他文件,这些文件要么不存在,要么无法通过仪器访问。

答案 1 :(得分:0)

我在模拟器中运行时遇到了同样的问题,这让我疯狂,因为所有标准的固定设备都无法正常工作。

对我来说,将我的iPad插入MacBook并在我插入的iPad上运行与该应用程序的乐器会话。仪器在iPad上运行时正确地标记了我的应用程序,然后在我断开iPad并在模拟器中运行仪器后继续工作。

我怀疑它与更新项目以使用以下内容有关...

  • libsqlite3.tbd而不是libsqlite3.dylib
  • libstdc ++。6.tbd而不是libstdc ++。dylib

我不知道为什么会出现这种情况,但这是我在仪器中丢失符号之前所做的唯一项目变更。

答案 2 :(得分:0)

在我的情况下,我从聚光灯中排除了我的派生数据目录。事实证明,如果你这样做,你必须通过仪器将它添加回仪器 - >偏好 - >符号

答案 3 :(得分:0)

您可以使用dSYM

添加Instruments 12.0 [About]
Instruments -> Preferences... -> Symbols
//or
File -> Symbols...
//if File -> Symbols... is not active - stop the process and try again

*也不要忘记事先生成.dSYM文件

答案 4 :(得分:0)

在我要分析的目标上激活“始终嵌入Swift标准库”,并为我修复了该问题。 YMMV