2

是否可以使用 callgrind 来产生像 gcov/lcov 给出的输出?我正在阅读他们的文档,找不到 callgrind_annotate 的确切选项

4

2 回答 2

1

这是不可能的,但 callgrind_annotate 和 kcachegrind 都应该实现它。但是,使用 kcachegrind,您可以获得每个函数/方法的调用计数。

成本/所有呼叫者选项卡或呼叫者选项卡中的计数呼叫应该是相关的。

于 2010-07-21T13:16:22.583 回答
1

是的你可以。使用 callgrind --collect-jumps=yes 和下面链接中描述的工具,您可以获得与 gcov 大致相同的信息。它不如 lcov 漂亮,但节省的时间可能是值得的。

http://benjamin-meyer.blogspot.com/2007/12/valgrind-callgrind-tools-part-3-code.html

请注意,即使使用优化的二进制文件,这也能很好地工作,因此您可以在构建/测试周期中节省大量时间,而不必使用 --coverage 重新编译。

您还可以在使用 Benjamin 的脚本之前使用 cg_merge 合并多个测试运行。

于 2012-07-18T21:51:42.867 回答