转载自:
linux环境下 C++性能测试工具 gprof + kprof + gprof2dot
添加-pg编译选项:
gcc/g++ -g -pg file.c[c]
运行a.out 以 生成gmon.out
./a.out
生成中间分析文件
gprof ./a.out > prof.log
常用参数 -b brief的缩写 简要输出
gprof -b ./a.out > prof.log
-q 打印函数调用关系
gprof -q ./a.out > prof.log
-p print a flat profile
gprof -p ./a.out > prof.log
生成程序流程图
gprof ./test | gprof2dot.py | xdot
gprof -b ./test gmon.out | gprof2doc > a.dot
gprof2dot默认是部分函数调用图,对性能影响不大的函数调用都不显示,例如上图中没有出现类的构造,析构函数,
如果想要显示全部的函数调用,可以 gprof2dot -n0 -e0 ,默认是n0.5即影响小于5%的函数就不显示了。
当然这样图片会很乱,因为显示内容很多,可以 gprof2dot -n0 -e0 -s #-s表示不显示诸如模板,函数入口参数等等,使得
函数名称显示更加精简。
时间: 2024-12-10 16:55:20