valgrind 下载:
https://www.valgrind.org/downloads/current.html
解压,编译,安装:
$ tar jxvf valgrind-3.14.0.tar.bz2
cd valgrind-3.14.0/
./autogen.sh
./configure --prefix=/home/renz/rz/opt/valgrind
make
make install
检查程序:
内存检测工具:
#valgrind --leak-check=full --show-reachable=yes --trace-children= yes ./a.out
--leak-check=full 检查内存泄漏
--show-reachable=yes 打印内存泄漏位置
--trace-children=yes 进入子进程。
图形化内存结构:
下载gprof2dot-2021.2.21.tar.gz:
https://pypi.org/project/gprof2dot/#files
解压后chmod为可执行,
编译被分析c源文件:
gcc -pg -o hello hello.c
选项-pg能产生供gprof剖析用的可执行文件。gprof是Linux下对C++程序进行性能分析的工具。
分析:
gprof ./hello |gprof2dot.py | dot -Tpng -o helloAnalysis.png