callgrind:如何检查一行是否执行

时间:2010-05-12 11:54:37

标签: callgrind

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

2 个答案:

答案 0 :(得分:1)

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

费用/所有来电者标签中的电话列或来电者标签中的计数应该是相关的。

答案 1 :(得分:1)

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

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

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

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