升级到xCode 4.5后,当我对我的应用进行时间分析时,符号名称不再显示类或对象,而是显示内存地址,请参见以下内容。
0x2fd42e13
0x38014448
我曾经看到如下内容
main
NSManagedObjectContext
当我能看到类名时,我可以在扩展细节中追踪问题。现在扩展细节显示的与0x2fd42e13相同。文件->符号
Command+Shift+G
输入目录路径,并粘贴我们之前从Xcode复制的路径。打开
来打开它。点击对话框上的“完成”以关闭窗口。在分析您的代码时,Instruments现在应该显示正确的细节和符号名称。/Users/<User>/Library/Developer/Xcode/DerivedData/...
,那么你需要在Instruments中将其添加到默认搜索路径中。由于Spotlight不会索引/Library
,因此Instruments不会搜索它。请前往Instruments > Preferences > Symbols,并添加/Users/<User>/Library/Developer/Xcode/DerivedData/
。我自己解决了:
编辑您的计划,找到“WhateverProjectNameIs > iPad 6.0模拟器”
然后在左侧点击“Profile” 在信息选项卡上,将“构建配置”更改为调试(Debug)(可能设置为发布(Release)) 这样就可以了。请注意,由于某种原因,构建目标未设置为与配置文件目标相同的构建配置,这让我受挫了不止一两次。
我也遇到了同样的问题,尝试了其他人建议的所有步骤,但都没有解决我的问题。所以,我打开了 Instruments
,在 Record
按钮旁边,点击下拉菜单并使用 Choose target
选项选择目标。然后点击 Record
按钮,现在我可以在仪器面板中看到所有的方法 :)
对于调试配置的分析并不能给出正确的分析值。调试配置并不是为了速度而编译的,而且你所有的NSLog语句仍然存在。
我创建了一个“Profile”构建配置来解决这个问题。请参见我的答案以查看类似的Stackoverflow问题。
我知道这是一个老问题,但是上面提到的解决方案都对我没有用。我需要切换到最新的iOS模拟器(当前使用iOS 8,需要使用iOS 9),以正确显示符号名称。我认为Xcode工具只能与运行最新iOS SDK的模拟器一起使用。
我曾经遇到过相同的问题,并尝试了其他解决方案,但都没有用。通常是Scheme出现问题,所以我从那里开始排查。但在我的情况下,它已经正确配置了。以下是最终解决方法:
将构建路径重置为默认值。我之前将其更改为tmp/文件夹,但符号无法显示代码。重置此路径后,分析器可以正确显示代码。构建路径(相对于派生数据)设置如下:{{link1:}}