代码之家  ›  专栏  ›  技术社区  ›  Component 10

C++剖析工具的建议[关闭]

  •  6
  • Component 10  · 技术社区  · 14 年前

    有人能推荐任何用于C++代码编译和运行时分析的工具吗?我每天都接到请求,要求确定在一个非常大的代码库中使用某些函数重载的位置。

    我当前的方法包括(a)使用grep/find进行文本搜索和(b)欺骗include文件以注释出有问题的重载,并完全重新编译,从而破坏使用重载的生成。你可以想象这是非常耗时的。

    顺便说一句,我是在Red Hat Linux平台上做这个的。

    6 回复  |  直到 14 年前
        1
  •  9
  •   Robert S. Barnes Antoni    14 年前

    我使用了gprof和一个名为 gprof2dot

    看这篇文章 gprof . 还可以看看:

    Optimizing C/C++ programs using the GProf profiler

    下面是一个示例调用图,显示在每个方法中花费的时间(取自gprof2dot页面):

    alt text

        2
  •  3
  •   ROAR    14 年前

    我以前用过Intels-VTune,发现它非常有用。

    http://software.intel.com/en-us/articles/intel-vtune/

        3
  •  3
  •   shreyasva    14 年前

    看一看 valgrind .

        4
  •  3
  •   BЈовић    14 年前

    Callgrind . 现在它是瓦尔格林计划的一部分。

    KCacheGrind

    这两个版本都适用于您的发行版。

        5
  •  1
  •   High Performance Mark    14 年前

    我支持@RA推荐的英特尔VTune值得一看。别对我嗤之以鼻 gprof ,它无处不在,是一个良好的开端。您可能可以从调试器中获取所需的信息—哪一个是?

    如果您告诉我们您使用的是什么编译器,我们可能会告诉您它有哪些功能可以帮助您。

        6
  •  1
  •   ipapadop    14 年前

    还有 TAU ,虽然配置起来很麻烦,但它非常强大。