callgrind 配置文件输出与回溯?

Posted

技术标签:

【中文标题】callgrind 配置文件输出与回溯?【英文标题】:callgrind profile output with backtrace? 【发布时间】:2013-07-18 16:29:15 【问题描述】:

是否可以使用 Callgrind 的分析输出来获取跟踪信息?

如果是,你能解释一下是怎么做到的吗?

[更新] 这可能是我的术语。使用 Kcachegrind 查看 Callgrind 分析结果时,调用的 backtrace/callstack 是什么?它驻留在哪里?

【问题讨论】:

你试过 KCachegrind 吗?它给出了调用链。 【参考方案1】:

当你第一次启动 Kcachegrind 时,你有三个方面: 在左侧,您有一个名为“Flat profile”的 DockWidget,其中包含按应用程序中成本百分比排序的功能列表,包括所有子调用。 (这就是为什么主要的通常成本几乎 100%)。 然后在右下角区域,您有另一个带有“调用图”选项卡的 dockwidget,这里有所有调用的树,也许你正在寻找什么;)

但是,如果您想要在特定点进行回溯,并提供有关上下文的更多信息,我建议您在此处使用带断点的 gdb,然后继续执行,直到到达所需的上下文。 Profiling主要用于定位你的应用程序中哪个函数开销最大,然后看你是否可以优化它。

【讨论】:

以上是关于callgrind 配置文件输出与回溯?的主要内容,如果未能解决你的问题,请参考以下文章

解释 callgrind 数据

kcachegrind 无法打开 callgrind 文件

Valgrind - callgrind Profiler:如何知道哪个函数需要更多时间

GCC libstdc++ 配置文件模式的替代方案

在简单的 R 文件上运行 Callgrind

用于分析结果的基于文本的查看器