环境:vbox虚拟机centos 6.6
valgrind-3.8.1有bug (默认版本)
最新版本:http://valgrind.org/
valgrind-3.10.1,编译安装
./configure
make
make install // 需要有root权限
例子代码:
编译:gcc -Wall -g valgrind_demo.c -o valgrind_demo
运行 检测工具
valgrind --tool=memcheck --leak-check=full ./valgrind_demo
上面的信息提示:
1.分配了2块内存,1B和40B,都丢失了,说明没有释放。
2.无效的写是4个字节,说明地址越界了。
3.无效的读是一个字节,说明越界读了一个字节去赋值了。
4.总共有四个错误,两个内存泄漏,一个越界读,一个越界写。