安装
首先安装运行分析函数时间的工具 kcachegrind
下载安装包 http://kcachegrind.sourceforge.net/,下载最新的 tar.gz 文件
解压文件,进入解压之后的目录,从 README 中可以找到安装方式,这里记录一下
cmake .
make -j8
sudo make install
中间过程中遇到的一些,cmake的时候出问题,找不到一个依赖包
CMake Error at /usr/local/share/cmake-3.12/Modules/FindKDE4.cmake:100 (message):
ERROR: cmake/modules/FindKDE4Internal.cmake not found in
/home/zhangying/.kde/share/apps;/usr/share/kde4/apps
Call Stack (most recent call first):
CMakeLists.txt:5 (find_package)
安装依赖包
sudo apt-get install kdelibs5-dev
在 make install 的时候,如果没有加 sudo 也会报错
zhangying@neil:~/file/chrome_download/kcachegrind/kcachegrind-0.7.4$ make install
[ 1%] Built target doc-handbook
[ 19%] Built target core
[ 21%] Built target cgview
[ 70%] Built target views
[ 70%] Built target kcachegrind_automoc
[ 78%] Built target kcachegrind
[100%] Built target qcachegrind
Install the project...
-- Install configuration: "RelWithDebInfo"
CMake Error at doc/cmake_install.cmake:49 (file):
file cannot create directory: /usr/local/share/doc/HTML/en/kcachegrind.
Maybe need administrative privileges.
Call Stack (most recent call first):
cmake_install.cmake:42 (include)
Makefile:85: recipe for target 'install' failed
make: *** [install] Error 1
这个时候加上 sudo 就可以了,此时分析工具安装完成了,该分析工具是为了在 valgrind 跑完之后,会生成一个结果文件,该工具可以分析这个结果
使用 valgrind 跑程序
valgrind --tool=callgrind --separate-threads=yes ./run
其中 run 是你要运行的程序
执行完之后会生成一个类似于 callgrind.out.963-01 文件
使用刚刚安装的 kcachegrind 分析该工具即可