xcode Time Profiler未显示符号名称

时间:2012-09-26 21:32:41

标签: ios xcode profile

更新到xCode 4.5,当时间分析我的应用程序符号名称不再显示类或对象,但显示内存地址,请参阅下文。

0x2fd42e13
0x38014448

我曾经看到以下

main
NSManagedObjectContext

当我看到班级名称时,我可以追踪扩展细节中的问题。现在扩展细节显示与0x2fd42e13相同的东西。

9 个答案:

答案 0 :(得分:25)

要解决我的问题,我必须告诉乐器我的二进制文件在哪里,因为它已经因某种原因而丢失了它。

1. 像往常一样运行工具以获取屏蔽数据。

enter image description here

2. 在Project Navigator中,展开Products文件夹并单击您的应用程序(提供者(.appex)或应用程序(.app)。如果您的文件检查器不可见,请右键单击该应用程序并单击& #34;显示文件检查器"

enter image description here

3. 在屏幕的右侧,您现在应该看到二进制文件检查器。相反点击" Full Path"属性并单击"复制"。

enter image description here

4. 返回仪器并转到File->Symbols

enter image description here

5. 在左侧下载您的应用程序或提供程序,然后单击旁边带有圆点的项目(它应与您的应用程序名称相同)

enter image description here

6. 您会注意到二进制路径为红色。这意味着Instruments已经丢失了对二进制文件的跟踪。单击右下方的小文件夹图标以显示“选择文件”对话框。按Command+Shift+G输入目录路径,然后粘贴我们之前从xcode复制的路径。

enter image description here

7。 您现在应该选择二进制文件,单击Open将其打开。单击对话框上的完成以关闭窗口。现在,仪器应该在分析代码时显示正确的详细信息和符号名称。

enter image description here

  1. 如果再次发生,并且您的二进制文件位于/Users/<User>/Library/Developer/Xcode/DerivedData/...之类的路径,则需要将其添加到Instruments中的默认搜索路径。 Spotlight未对/Library编制索引,因此不会搜索。转到仪器&gt;偏好&gt;符号,然后添加/Users/<User>/Library/Developer/Xcode/DerivedData/

答案 1 :(得分:12)

自己解决了:

编辑您的方案,其中显示“WhateverProjectNameIs&gt; iPad 6.0模拟器”

然后点击左侧的“个人资料” 在Info选项卡上,将Build Configuration更改为Debug(可能设置为Release) 应该这样做。请注意,无论出于何种原因,构建目标都没有设置为与配置文件目标相同的构建配置,这使我绊倒了一两次。

答案 2 :(得分:2)

分析调试配置不会为您提供正确的配置文件值。调试配置未针对速度进行编译,并且所有NSLog语句仍在。

我创建了一个“Profile”构建配置来处理这个问题。请参阅my answer到类似的Stackoverflow问题。

答案 3 :(得分:2)

我也有同样的问题,我尝试了其他人建议的所有步骤。但他们都没有为我解决这个问题。所以,我做的是,我刚打开Instruments并在Record按钮旁边,点击下拉菜单,然后使用Choose target选项选择目标。然后单击Record按钮,现在我可以看到仪器面板中的所有方法:)

答案 4 :(得分:2)

重启Instruments和Xcode解决了我的问题:(

答案 5 :(得分:1)

我知道这是一个老问题,但上面提到的解决方案都不适用于我。我需要切换到最新的iOS模拟器(使用iOS 9而不是iOS 8)来正确显示符号名称。我认为Xcode Instruments只能与运行最新iOS SDK的模拟器一起使用。

答案 6 :(得分:0)

我遇到了同样的问题并尝试了其他解决方案无济于事。计划问题通常是问题,所以我从那里开始。但在我的情况下,它已经正确配置。这是最终对我有用的东西:

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

答案 7 :(得分:0)

将构建路径重置为默认值。我之前已将其更改为tmp /文件夹,符号无法显示代码。重置后,此路径和探查器可以显示正确的代码。构建路径(相对于派生数据)设置如下:Build Path

答案 8 :(得分:0)

我在Xcode 11.4中有相同的问题 1.构建成功后,在Xcode中显示YOUR_PROJECT.app文件夹,找到Release-iphoneos或Debug-iphoneos文件夹,然后根据Profile的构建设置选择哪个文件夹。通常我们选择Release-iphoneos。 2.在[首选项]-> [符号]中将该路径添加到乐器中,以搜索YOUR_PROJECT.app.dSYM文件。

enter image description here