2016-07-25 66 views
0

正如我所知的编译代码与-fprofile-arcs标志使得代码执行后生成.gcda文件。编译完成后,再加上-ftest-coverage标志,然后是.gcno文件,可以获得有关执行哪些代码和多少次的信息并获得所谓的代码覆盖率报告。是否可以从gcda文件中获得“执行时间消耗”信息?

是否有可能以类似的方式从.gcna文件获取与gprof类似的配置文件信息,如函数调用count和执行时间信息?

回答

0

我不敢这样说,但是你错在这里的术语。

GPROF:它是一个C/C++程序分析器。其目的是为特定执行生成分析信息,其中包括性能统计信息,如不同功能之间的控制流,以及与父功能和子功能单独消耗的传播时间的关系。所以,这里的重点是找到程序中的性能降低点。

凡为,

gcov的:它是一个C/C++覆盖率分析工具。其目的是获得每个语句,分支和块的执行次数。所以,这里的重点只是获取覆盖率统计信息。

因此,故事的寓意是这两种工具有不同的生活目的。 ;)

如果您希望同时获得可以使用gprof的信息,尽管它在很多情况下都有局限性,但它也会为您提供覆盖信息和方法级别粒度。

相关问题