Ios Xcode';s时间分析器显示地址而不是符号

Ios Xcode';s时间分析器显示地址而不是符号,ios,xcode,instruments,Ios,Xcode,Instruments,一般来说,我的问题可以在这个屏幕截图上看到: 很多非符号化的地址和一些在“符号”菜单中看起来破碎的东西 好的,一些设置和操作试图解决这个问题。 但没有一个仍然有用: 配置文件选项卡设置为使用调试 调试和发布均禁用符号剥离 调试和发布的优化级别均为“无” 清理、删除、重新启动等 mdimport~/Library/Developer/ DWARF和dSYM格式 我也有同样的问题——我也做了你清单上的所有事情。以下是最终对我有效的方法: 在Instruments中,如果进程正在运行,请停止进程

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

很多非符号化的地址和一些在“符号”菜单中看起来破碎的东西

好的,一些设置和操作试图解决这个问题。 但没有一个仍然有用:

  • 配置文件选项卡设置为使用调试
  • 调试和发布均禁用符号剥离
  • 调试和发布的优化级别均为“无”
  • 清理、删除、重新启动等
  • mdimport~/Library/Developer/
  • DWARF和dSYM格式

我也有同样的问题——我也做了你清单上的所有事情。以下是最终对我有效的方法:

  • 在Instruments中,如果进程正在运行,请停止进程
  • 转到文件->符号,并在dSYM路径下找到未被符号化的库
  • 在我的例子中,它指向垃圾桶中的物品。因此,我清空了垃圾桶,删除了派生数据文件夹中的模块缓存和项目,当我重建项目时,它又开始工作了。在您的情况下,它可能指向某个其他文件,该文件不存在或无法通过仪器访问

我在模拟器中运行时遇到了同样的问题,这让我抓狂,因为所有标准的go-to修复程序都不起作用

它为我做的是将我的iPad插入MacBook,并在我的插入式iPad上运行一个针对上述应用程序的instruments会话。在iPad上运行时,Instruments正确地表示了我的应用程序,然后在我断开iPad连接并在模拟器中运行Instruments时,Instruments继续工作

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

  • libsqlite3.tbd而不是libsqlite3.dylib
  • libstdc++.6.tbd代替libstdc++.dylib

我不知道为什么会这样,但这是在我的符号在仪器中丢失之前我所做的唯一项目更改。

在我的例子中,我将我的派生数据目录排除在聚光灯之外。事实证明,如果您这样做,您必须通过instruments->Preferences->Symbols将其添加回instruments中,您可以使用instruments 12.0添加您的
dSYM

Instruments -> Preferences... -> Symbols
//or
File -> Symbols...
//if File -> Symbols... is not active - stop the process and try again

*另外,不要忘记预先生成
.dSYM
文件

在我分析的目标上激活“始终嵌入Swift标准库”,为我修复了它。YMMV不寻常。它应该使用默认的符号/剥离设置在发布模式(无点评测未优化的代码)下运行。我从来没有遇到过任何问题。我在这两个方面都做过modes@bronenos确保生成调试符号构建设置设置设置为“是”。两种模式都设置为“是”。我遇到它的次数太少了,我认为这是一个错误,重启Xcode对我来说总是有效的。