-
valgrind --tool=callgrind --dump-instr=yes ./foo # ,这里会运行很久,执行完毕后会生成一个callgrind.out.126651
-
1如果你调试的程序是多线程,你也可以在命令行中加一个参数 -separate-threads=yes。这样就会为每个线程单独生成一个性能分析文件。如下:
valgrind --tool=callgrind --separate-threads=yes ./test
-
生成的文件除了callgrind.out.31113外,还会多出一些子线程的文件。文件名如下:
callgrind.out.31113-01 callgrind.out.31113-02 callgrind.out.31113-03
-
用kcachegrind 打开callgrind.out.10798 ,即显示下面图 (在 ubuntu上也可以直接 aptitude install kcachegrind安装)
LINUX: KCachegrind
windows: windows port of kcachegrind - Browse Files at SourceForge.net
-
用winscp 把callgrind.out.126651 拷贝到windows下
kcachegrind callgrind.out.10798
或者
打开 callgrind.out.10798
看百分号,哪个函数消耗多