本文主要是介绍valgrind 入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
安装
Centos: yum install valgrind
ubuntu: apt-get install valgrind
2、编辑错误代码
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main()
5 {
6 int *p = (int *)malloc(10 * sizeof(int));
7 p[10] = 0;
8 return 0;
9 }
编译:gcc main.c -g -o test
3、使用valgrind检查内存
程序在valgrind上运行
valgrind --tool=memcheck --leak-check=full ./test
--tool=memcheck /*使用valgrind的memcheck功能*/
--leak-check=full /*显示代码中具体泄露的位置*/
分别出现两个错误:
4字节的写入无效---内存越界,在代码第7行
40字节内存泄露---内存在代码第6行分配
这篇关于valgrind 入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!