【问题标题】:Good c++ profiler for GCCGCC 的优秀 c++ 分析器
【发布时间】:2010-12-30 05:17:30
【问题描述】:

我试图找到一个相关的问题,但之前的所有问题都是关于 Windows 中本机 c++ 的分析器。我搜索了一段时间并了解了 gprof,但 gprof 的输出实际上包含许多晦涩的内部函数。有没有好的开源 c++ profiler 和好的文档?

【问题讨论】:

标签: c++ profiling


【解决方案1】:

Valgrind

我完全推荐这个 http://en.wikipedia.org/wiki/Valgrind

【讨论】:

    【解决方案2】:

    不要使用 gproffor the reasons given here

    您需要的是堆栈截图,explained herepstack 实用程序是获取堆栈快照的一种方法。另一种方法是在调试器下使用“暂停”或 ctrl-break。还有 lsstack,如果你能得到一份副本的话。

    如果你想花钱,RotateRight makes a nice tool based on stack sampling called Zoom

    【讨论】:

    • @MarkJ.Adams:他们继续这样做,删除不受欢迎的东西。我输入了存档链接。
    【解决方案3】:

    使用标志-pg编译并使用gprof

    【讨论】:

      【解决方案4】:

      如果您不介意 KDE 库依赖项,KCachegrind 对于添加的可视化非常有用。这取决于 Callgrind 和 Valgrind,正如人们可能已经猜到的那样,因此在编译时不需要特殊的编译器标志。

      【讨论】:

        【解决方案5】:

        我听说 oprofile 非常非常适合实时应用程序。不过仅限 Linux,AFAIK。

        【讨论】:

          【解决方案6】:

          您的个人资料报告中需要多少详细信息。如果您只想对几个函数进行一些非常简单的时间分析,那么通过 C++11 chrono 类提供的新功能可以轻松地以跨平台、交叉编译器的方式进行分析。

          请参阅this article 了解一些与 Matlab 超级易用的 tictoc 函数类似的简单分析代码。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-12-03
            • 2011-01-23
            • 2010-11-29
            • 2011-02-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-01-17
            相关资源
            最近更新 更多