kcachegrind:如何绘制完整的调用图?

Posted

技术标签:

【中文标题】kcachegrind:如何绘制完整的调用图?【英文标题】:kcachegrind: How to draw the full call graph? 【发布时间】:2015-06-09 13:38:23 【问题描述】:

我喜欢 kcachegrind 的调用图。但我无法让它绘制完整的调用图。

我想我只需要设置:

    图表 > 来电深度 > 无限制 图表 > 被调用者深度 > 无限 图表 > 最小。节点成本 > 无最小值 图表 > 最小。通话费用 > 无最低要求

1 和 2 很简单。 3 在备忘录中,但显示为灰色。 4 不在菜单中。

有没有办法让它以图形方式显示完整的调用图?

【问题讨论】:

【参考方案1】:

答案在于source code (line 2794):

a = addNodeLimitAction(m, tr("No Minimum"), 0.0);
// Unlimited node cost easily produces huge graphs such that 'dot'
// would need a long time to layout. For responsiveness, we only allow
// for unlimited node cost if a caller and callee depth limit is set.
a->setEnabled((_maxCallerDepth>=0) && (_maxCalleeDepth>=0));

因此,您必须将其他两个选项设置为“无限”以外的值。

【讨论】:

以上是关于kcachegrind:如何绘制完整的调用图?的主要内容,如果未能解决你的问题,请参考以下文章

kcachegrind 难以链接 php xdebug 调用

如何聚合热点(分析器)结果并在 kcachegrind 中查看

Kcachegrind 覆盖列表项限制为 499

在 kcachegrind 中显示调用树

在kcachegrind中显示调用树

解释 callgrind 数据