问题
Instruments 的 Time Profiler 正在从我的应用程序中删除除系统库之外的所有符号,尽管事实上我已在 Xcode 的所有相关构建设置中禁用了此行为 -但仅在一台开发机器上。另一台开发机器运行正常。
描述
Instruments 的 Time Profiler 正在剥离除系统库之外的所有符号,尽管事实上我已在 Xcode 的所有相关构建设置中禁用了此行为——但这仅发生在我的一台开发机器上。我有两台开发机器运行相同版本的 OS X、Xcode 和 Instruments,每台机器都使用相同 Xcode 项目的相同副本,具有相同的构建设置、方案和其他配置,并且应用程序使用相同的配置文件进行配置测试设备(iPhone 4S 最新公开版 iOS 5)。
机器 1
- Mac OS X
10.7.4 - Xcode 4.3.2 (4E2002)
- Instruments 4.3 (4321)
机器 2
- Mac OS X
10.7.4 - Xcode 4.3.2 (4E2002)
- Instruments 4.3 (4321)
重现步骤
- 在每台机器上打开包含的示例项目。
- 确保选择 iPhone 4S 作为测试设备。
- 选择产品 > 简介
- 当 Instruments 启动时,选择 Time Profiler 并继续。
- 运行应用程序。
- 请注意在 iMac(机器 1)上运行但在 MacBook Air(机器 2)上运行时符号是如何被剥离的。
预期行为
我自己的代码中的符号应该出现在两台机器上的 Time Profiler 中。
回归
我已经尝试了以下所有方法,但实际结果没有变化:
重新启动机器。
尝试其他 Xcode 项目
删除 Xcode Organizer 中所有项目的“派生数据”。
在 Instruments 中重新符号化文档(在 ~/Library/blahBlahBlah... 中仔细选择正确的 DSYM 文件)
最后的笔记
以下是示例项目的 .zip 文件的链接:示例项目 .zip