Xcode Instruments:分析的热点与源代码不匹配

Posted

技术标签:

【中文标题】Xcode Instruments:分析的热点与源代码不匹配【英文标题】:Xcode Instruments: profiled hotspots don't match up with source code 【发布时间】:2012-05-28 12:37:58 【问题描述】:

使用 Instruments 时间分析器时,我经常得到没有意义的结果。它们表明时间花费在文件的某些部分上,这些部分要么在被检查的函数之外,要么不包含可执行代码(cmets、空行等)。这使得结果往往接近于无用。

我尝试了很多方法来解决这个问题:

在重新编译和重新分析之前关闭仪器 清理构建,重新编译 每次配置文件时都重新启动仪器 更新到 Xcode 4.3.2

这些有时会有所帮助,但并不总是能防止问题发生。

我能做些什么来解决这个问题?

【问题讨论】:

【参考方案1】:

我在使用 gcc 编译并设置了 -O3 优化标志的代码上遇到了同样的问题。谷歌搜索,我了解到 Apple 的时间分析器不喜欢使用优化标志编译的 gcc 代码。

在没有 -O3 标志的情况下重新编译我的代码并重新运行时间分析器,热点现在与我的源代码的正确行匹配。也许这与您的问题有关。

【讨论】:

虽然这是事实,但在没有优化的情况下搜索热点并没有任何帮助。

以上是关于Xcode Instruments:分析的热点与源代码不匹配的主要内容,如果未能解决你的问题,请参考以下文章

带有 Instruments 6.1 的 Xcode 6.1 无法正常工作

IOS性能调优系列:使用Instruments动态分析内存泄漏

IOS性能调优系列:使用Instruments动态分析内存泄漏

iOS Instruments

在 Instruments 中进行分析时出现 SIGSEGV(Bad Memory Access)错误

Xcode 8 Instruments工具集的变化与趋势