【问题标题】:Is it possible to get a graphical representation of gprof results?是否可以获得 gprof 结果的图形表示?
【发布时间】:2011-01-27 04:46:54
【问题描述】:

我有兴趣了解一些数字运算程序的分析。我用 -g 和 -pg 选项编译它并链接它并得到它 gmon.out。阅读信息(纯文本)后,它看起来有点难看。我想知道是否有一些开源工具可以获取程序花费最多时间的 10 个函数的图形表示以及通量图。

谢谢

【问题讨论】:

    标签: bash gprof


    【解决方案1】:

    Gprof2Dot by jrfonseca 是一个工具,可以将许多分析器(其中包括 gprof)的输出转换为点图。

    【讨论】:

    • 哇,这看起来是个很棒的工具...感谢您的链接!很好的答案
    • 非常感谢!现在只是一个简短的问题。我现在如何获得程序控制流的图形表示。我的意思是调用了哪些函数,以何种顺序调用,以及在每个函数上花费了哪些百分比。谢谢
    • @Werner:Gprof2Dot 的调用图不这样做吗?如果不是我一定是误会你了。或:code.google.com/p/jrfonseca/wiki/…
    • 默认情况下,它只显示执行了一定百分比的函数,并忽略堆栈中的许多函数。话虽如此,我建议您查看 valgrind/kcachegrind(参见 Norman Ramsey 的评论,或 gernotklingler.com/blog/…)。
    【解决方案2】:

    不能完全回答您的问题,但也许可以解决您的问题:我从gprof 切换到valgrindcallgrind 工具,主要是因为令人难以置信的图形工具kcachegrind,您可以用于可视化结果。它是交互式的,因此您可以放大调用图的有趣部分。

    Gprof2dot 与 callgrind 以及 gprof 一起使用。

    【讨论】:

    • 但也有简单的 xdot.py,它是 .dot 文件的交互式查看器。 github.com/jrfonseca/xdot.py
    • 从头开始 - kcachegrind 中有这么多眼睛糖果! O.O
    • 如果 kcachegrind 可以打开 gprof 输出那就太棒了:stackoverflow.com/questions/7274095/…
    • Callgrind 仅提供指令计数,而gprof 提供实际时间配置文件。我不建议仅仅为了它的 GUI 切换到 callgrind
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-08
    • 1970-01-01
    • 2011-10-22
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    相关资源
    最近更新 更多