Linux下的一个很好的内存泄漏检测工具

 最近做项目时用到的--valgrind.

能检测

    1)使用未初始化的内存
    2)读/写已经被释放的内存
    3)读/写内存越界
    4)读/写不恰当的内存栈空间
    5)内存泄漏
    6)使用malloc/new/new[]和free/delete/delete[]不匹配。
最简单的使用: valgrind --leak=check=full  后跟执行文件。

关于内存检测的原理:

 主要就是截获住对分配内存和释放内存的函数的调用。截获住这两个函数,我们就能跟踪每一块内存的生命周期,比如,每当成功的分配一块内存后,就把他的指针加入一个全局的list中;每当释放一块内存,再把他的指针从list中删除。这样,当程式结束的时候,list中剩余的指针就是指向那些没有被释放的内存。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值