如何可靠地使Instruments 4.x符号化?

我有点进退两难 – 无论我做什么,我都无法让Apple的Instruments.app象征任何包含的乐器,而我在我的设备上进行分析(它在iOS模拟器中运行正常)。

我已经尝试过我能想到的一切,包括:

  • 检查我是否正在构建一个dSYM
  • 在Debug和Release构建方案之间切换
  • 确保我的开发证书中使用了签名证书
  • 在Spotlight的隐私列表中添加和删除我的Derived Data文件夹
  • 在分析之前清理和构建
  • 在构建和分析之前删除派生数据文件夹

我不知道从哪里开始 – 我在本周早些时候有一两个小时的符号,但我根本无法让它们完全显示出来。 很好地弄清楚神秘的咒语是什么让仪器总能找到我的应用程序的符号。

在“文件”菜单中,有一个Re-Symbolicate Document选项。 选择此选项,您可以在列表中找到二进制文件,并使用“定位”按钮手动指定dSYM的位置。 此处还有一个复选框,用于使用Spotlight查找dSYM; 如果Spotlight在某些时候被剔除但现在已经修复,它可能会被取消激活。

当仪器实际上正在检测时,你似乎无法做到这一点,但它确实似乎保留了下次你点击Record时的设置。 但是,在关闭仪器后,它似乎不记得设置。

您确定使用开发配置文件(而不是分发配置文件)对应用程序进行签名吗? 请注意,您通常使用仪器发布版本,因此请确保您没有为发布配置选择分发配置文件…

我已经看到,仪器4.2无法使用正确的dSYM文件多次符号化。

保存并退出/重启仪器后,它将符号化。

(有时我会捕获一个小样本并确保它在收集大样本之前有效。)

除了xcode的工具,你可以使用atos: https ://stackoverflow.com/a/4954949/312725

请务必考虑幻灯片: https : //stackoverflow.com/a/13576028/312725

(我将这些信息添加到与此相关的几个相关问题中,但不完全是重复的问题。这是复制粘贴的,这是一个诚实的尝试,可以帮助那些搜索该问题而不是垃圾邮件的人。)