亲爱的,内存泄漏了

以前一直写在MSN Space上,可惜太慢了,转到这里混吧:)

C++内存泄漏太常见了,开点常见小药方备案,由简单到复杂,分为8类:


1.用Debug版本编译,退出时自动提示哪个文件哪一行泄漏。注意:使用此方法不能使用TerminateProcess。
2.有时,第一种方法不能提供文件名和行号,而只能提供块号,此时可用_CrtSetBreakAlloc()在分配该块时下断点。注意:此方法要求每次泄漏的块号基本一致。
3.利用_CrtMemXXX系列函数 + 二分法 逐步定位错误。可参考_CrtMemCheckpoint(),_CrtMemDifference(),_CrtMemDumpStatistics()等函数。
4.使用第三方工具BoundsChecker。注意:VC7编译的库要求7.0以上版本。
5.使用第三方工具ApplicationVerifier。
6.如果模块化程度高,可逐个排除各模块,从而确定错误所在。
7.熟悉代码的情况下,可先猜测出错区域,放大错误(比如调用一次的变成调用百次等),进而明确错误所在。
8.一般来说新代码出错的可能性较大,因此出现内存泄漏时,应先利用上述方法检查新代码。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值