当我使用“--toggle-collect=fun”或“--toggle-collect=main”运行 callgrind 时,它不起作用。 我也尝试添加返回类型,但没有任何效果。 “--toggle-collect=void fun”或“--toggle-collect=int main”。知道为什么它不起作用吗?
命令使用
valgrind --tool=callgrind --callgrind-out-file=callgrind.out "--toggle-collect=fun" -v a.out
下面是示例代码
#include<stdio.h>
#include<stdlib.h>
void fun1()
{
for(int i=0; i<10;i++)
printf("a");
}
int main()
{
fun1();
}
您的代码使用
fun1
但您的 Callgrind 命令使用 --toggle-collect=fun
最后缺少“1”。
我不确切知道匹配 Callgrind 使用什么功能来切换收集。它当然支持 '*' 和 '?'通配符。我不确定它对 C++ 损坏的名称有何作用。它不会使用返回类型。