代码之家  ›  专栏  ›  技术社区  ›  Andrew Walker

用于多线程应用程序的GCOV

  •  6
  • Andrew Walker  · 技术社区  · 17 年前

    我已经为我们的代码库设置了一些琐碎的测试,但是如果能够了解我们正在实现的覆盖率,那就太好了。如果gcov不合适,任何人都可以推荐一个替代工具(可能的oprofile),最好有一些关于入门的好文档。

    3 回复  |  直到 17 年前
        1
  •  8
  •   greatwolf Romowski    12 年前

    您希望使用GCC4.3进行编译,它可以覆盖动态代码。

    您可以使用 -fprofile-arcs -ftest-coverage 选项,代码将生成.gcda文件,然后gcov可以处理这些文件。

    最后,我们使用lcov生成HTML结果页面。

        2
  •  1
  •   Jeremy Mayhew    16 年前

    Gcov适用于多线程应用程序。仪器体系结构已正确序列化,因此您将获得保真度良好的覆盖率数据。

    我建议将gcov与 lcov

    lcov还为您的源代码提供了一个很好的彩色编码HTML版本,这样您就可以快速评估您的覆盖率失效。

        3
  •  0
  •   nsanders    17 年前

    我没有将gcov用于多线程覆盖工作。然而,在MacOS上,苹果的Shark工具可以处理多个线程。它主要是一个探查器,但也可以做覆盖信息。

    http://developer.apple.com/tools/sharkoptimize.html