【C语言】关于c语言中检查内存泄漏的办法

66 篇文章 4 订阅
34 篇文章 1 订阅

关于c语言中检查内存泄漏的办法

  1. 从一开始设计之初 就应该有单独分层。将底层的malloc和free等函数 加一层自己的系统函数层。这样有助于后期的移植和检查内存泄漏。例如test_malloc test_free
  2. 假如发现了内存泄漏。并且是已知的某个流程。那么我们即可重构一下我们的test_free和test_malloc。
  3. 思路如下:首先做一个list或者数组,最好是结构体的,元素为 地址和大小 时间等。有能力的可以增加函数名,更方便。在test_malloc中,每次调用都将本次申请成功的内存地址和大小放入数组中(记得添加打印本次地址、大小和函数名等)。每次free后如果free成功,则从自己的数组中将该地址置空。大小置0,清空函数名和时间等。
  4. 最后在流程跑完以后打印 该数组中没有释放的地址和大小等元素,  即可查找出未free的内存地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值