是否可以使用Callgrind的分析输出返回跟踪?
如果是的话,你能解释一下这是怎么做的吗?
[更新]这可能是我的术语。当使用Kcachegrind查看Callgrind分析结果时,调用的backtrace / callstack是什么以及它驻留在哪里?
答案 0 :(得分:0)
首次启动Kcachegrind时,您有三个方面: 在左边,你有一个名为“Flat profile”的DockWidget,有一个按应用程序中成本百分比排序的函数列表,包括所有子调用。 (这就是为什么主要通常花费几乎100%)。 然后在右下角区域,你有另一个有一个“调用图”选项卡的dockwidget,这里有你所有调用的树,也许你正在寻找的东西;)
但是如果你想要一个特定点的回溯,有关上下文的更多信息,我建议你在这里使用带有断点的gdb,并继续执行直到你到达你想要的上下文。 分析主要用于定位应用程序中最常用的功能,然后查看是否可以对其进行优化。