admin管理员组

文章数量:1531713

valgrind --tool=memcheck --leak-check=full --show-reachable=yes --log-file=test.log ./process_name &

(1)process_name是你的可执行文件名,复制执行即可
(2)使用测试代码或其他方法尽量全面的遍历你的程序代码
(3)使用kill -15 PID使你的进程正常退出
(4)valgrind的输出结果会在进程退出后写入test.log中,查找关键词“Invalid”,一般找到的话,就是对应的位置有问题

关于valgrind的参数,可以用valgrind -- help来查看,我们用到的参数如下:

memcheck: 这是valgrind应用最广泛的工具,一个重量级的内存检查器,能够发现开发中绝大多数内存错误使用情况,比如:使用未初始化的内存,使用已经释放了的内存,内存访问越界等

leak_check: search for memory leaks at exit

show_reachable=yes - show reachable blocks in leak check

log-file=test.log - 把结果写在test.log里面

Tips:

  1. failed to start tool ‘memcheck’ for platform x86-linux, 一般是由于valgrind和可执行文件的位数不同引起的,二者皆为32bit/64bit可能解决此问题

本文标签: 基础valgrind