如何使用 valgrind 工具解决C语言程序内存泄漏问题

举报
困困和囧囧 发表于 2021/08/17 15:57:08 2021/08/17
【摘要】 使用 valgrind 工具解决C语言程序内存泄漏问题

编写C语言程序过程中总要t小心翼翼地避免内存泄漏问题,但总有落网之鱼,此时强大的 valgrind 工具就可以派上用场,解君之忧。

先收藏下官方文档,链接:https://www.valgrind.org/

本人测试系统:REDHAT(当然其他系统也是支持的)

一、安装Valgrind

1. 下载安装包,此时(21年8月)我选择的是 Valgrind 3.17.0

安装包路径:https://www.valgrind.org/downloads/current.html

2. 解压缩

tar -jxvf valgrind-3.17.0.tar.bz2

3.进入目录,进行安装,其中/home/user1/valgrind是你想安装的目录

cd valgrind-3.17.0
./configure --prefix=/home/user1/valgrind
make
make install

4.配置环境变量

vim ~/.bashrc
export PATH=$PATH:/home/user1/valgrind/bin/

使改变生效

source ~/.bashrc

二、简单使用

valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --run-libc-freeres=yes ./a.out

运行后会具体显示代码中哪行存在问题,修改后达到 ERROR SUMMARY 0 error 效果即可,如下所示 


参考:

Valgrind的安装及简单使用  https://www.cnblogs.com/qujingtongxiao/p/9901213.html

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。