Mac*_*ist 58 iphone xcode profiling symbols instruments
我正在通过命令行编译一个IPhone应用程序(所以没有涉及XCode选项),我无法在使用Instruments进行分析时显示我的符号名称.我已经尝试了几个标志,如-gdawrf-2和-g,没有任何成功.我也尝试使用dsymutils生成.dSYM文件,但我不知道我应该如何使用它以便失败.
任何帮助将不胜感激!
Ant*_*ine 90
我将项目设置更改为在构建时不包含dSYM文件:
将其更改为包含dSYM文件帮助分析器对符号进行符号化并修复了我的问题:
you*_*ist 61
我还有这个问题.
我的问题是我能够看到生成的dSYM文件,但是仪器没有把它拿起来.
要解决此问题,请执行以下操作:
Mac*_*ist 35
Instruments如何获取调试信息:
仪器从.dSYM文件获取调试信息,该文件通常由XCode自动生成,当调试信息格式设置为DWARF时,dSYM文件与生成调试符号选项框中的复选标记相结合.设置这些选项将为XCode构建过程添加额外的步骤,并在编译应用程序后生成dSYM文件.每个dSYM都使用一个UUID构建,该UUID对应于它所源自的二进制文件中Mach-O部分中的UUID.Spotlight导入程序会索引Mac上Spotlight可访问位置中的每个dSym文件的UUID.因此,SPOTLIGHT可以完成所有黑魔法并负责在您运行的.app和相应的.dSYM文件之间建立链接.
如何在没有XCode的情况下生成调试信息和dSYM文件:
确保使用-gdwarf-2和-g标志编译.(其他标志组合可能有效)
-g以操作系统的本机格式(stabs,COFF,XCOFF或DWARF 2)生成调试信息.GDB可以使用此调试信息.在大多数使用stabs格式的系统上,-g允许使用只有GDB才能使用的额外调试信息; 这些额外的信息使得调试在GDB中工作得更好,但可能会使其他调试器崩溃或拒绝读取程序.如果要确定是否生成额外信息,请使用-gstabs +, - gstabs,-gxcoff +, - gxcoff或-gvms(参见下文).GCC允许您使用-g和-O.优化代码所采用的快捷方式有时会产生令人惊讶的结果:您声明的某些变量可能根本不存在; 控制流可能会短暂地移动到你没想到的地方; 某些陈述可能无法执行,因为它们会计算出不变的结果,或者它们的值已经存在; 一些语句可能在不同的地方执行,因为它们被移出循环.
然而,它证明可以调试优化的输出.这使得将优化程序用于可能存在错误的程序是合理的.-gdwarf-2以DWARF版本2格式生成调试信息(如果支持).这是DBX在IRIX 6上使用的格式.使用此选项,GCC在有用时使用DWARF版本3的功能; 版本3向上兼容版本2,但仍可能导致旧版调试器出现问题.
使用dsymutil生成dSYM文件.如果在命令行中无法识别该工具,请使用聚光灯查找它.重要提示:如果您正在使用网络驱动器,请在生成dSYM之前将.app文件放在mac HD上.
dsymutil MyApp.app/MyApp -o MyApp.app.dSYM
将.dSYM文件放在mac的本地驱动器上,然后像往常一样运行Instruments.
重置聚光灯的索引:
如果没有显示符号,可能是因为spotligh被窃听.您可以尝试通过将包含dSYM文件(甚至是您的驱动器)的文件夹添加到聚光灯首选项中的"防止聚光灯搜索这些位置",然后立即将其删除来尝试重置聚光灯的索引.
Mat*_*lly 15
在Xcode 4.5中,您可以选择从调试或发布版本配置文件.释放默认值以在复制到设备时剥离符号.在不破坏发布配置的情况下,切换到Debug配置以进行性能分析非常容易.为此,从XCode菜单中选择Product - > Edit Scheme.从出现的方案列表中选择"配置文件",然后为其选择正确的构建配置.
或者您可以单独发布/配置文件配置,并在您的方案的"配置文件"部分中使用它." XCode用户指南"中介绍了如何添加单独的构建配置.
使用Xcode 6 Instruments,您可以提供dSYM文件,如下所示:
?+SHIFT+G
在对话框中使用OS X快捷方式。另外,Instruments还会询问您是否将来应使用所选路径来尝试为此应用加载dSYM。回答是:)
小智 5
花了三天时间试图弄清楚Xcode 7.1/7.3 ...
将部署目标更改为最新版本(当时为9.3)为我解决了这个问题.我的公司以7.0为目标,因此我可能需要创建一个自定义Scheme来分析Instruments中的代码,以避免在我们进行生产发布时更改目标(或忘记更改目标).
如果dSYM无法根据部署目标工作,它似乎可能是一个错误?
归档时间: |
|
查看次数: |
38968 次 |
最近记录: |