龙空技术网

Linux系统调试篇-valgrind内存泄漏检测

小梨变压梨 97

前言:

今天朋友们对“win10检查内存兼容性”大体比较关怀,我们都需要学习一些“win10检查内存兼容性”的相关资讯。那么小编也在网络上网罗了一些对于“win10检查内存兼容性””的相关知识,希望看官们能喜欢,你们一起来学习一下吧!

阅读此文之前,麻烦您点击一下“关注”,既方便您进行讨论和分享,又能给您带来不一样的参与感,感谢您的支持!

代码可能存在内存泄漏,怎么办?

使用valgrind检测代码中的内存泄漏。

下载并安装Valgrind

去下载:

安装:

1.tar–jxvfvalgrind-3.21.0.tar.bz2

2.cdvalgrind-3.21.0

3../configure--prefix=/home/book/valgrind-3.21.0/install

4.创建

5.完成安装

--prefix是给定的安装路径,可以不指定,使用默认即运行./configure

内存泄漏测试

测试程序test.c:

分配40字节缓冲区并打开超出范围的buf[10]。

#包括

#包括

#包括

无效测试()

{

int*buf=(int*)malloc(10*sizeof(int));

buf[10]=0x55;

}

intmain()

{

测试();

返回0;

}

编译:

gcc-g-o测试test.c

注意编译时添加-g选项

用缬格奈德测试:

./valgrind--lek-check=是./test

结果发现,出错的地方是在test.c第15行的main函数中,即调用test()函数。具体来说,test.c第9行,test函数中,即buf[10]=0x55;架子。

根据提示信息可以看出valgrind2检测到错误:

存在无效写入数据,即访问数组超出范围

内存泄漏,分配了40字节但未释放

结尾

嵌入式物联网还有很多东西需要学习。不要学错路线和内容,这样会增加你的薪资!

分享给大家一个数据包,150G左右,里面的学习内容、个人文本和项目都比较新、完整!

扫描二维码输入群主信息

免责声明:文章内容如涉及作品内容、版权图片或其它问题,请在30日内与本号作者联系,如反映情况属实我们将第一时间删除责任文章。文章只提供参考并不构成任何投资及应用建议。

标签: #win10检查内存兼容性