内存泄露检测方法收集

1、检测内存泄露的方法:  http://blog.csdn.net/skyremember/article/details/2941038

有具体的错误解释

2、C++:VS2005检查内存泄露的简单方法 - 郑文亮  http://www.xue5.com/Developer/C++/656375.html

显示 #define new DEBUG_NEW方法,比较具体

 3、使用_CrtDumpMemoryLeaks()查内存泄露的一些问题

http://blog.sina.com.cn/s/blog_4d7d5ba501019ca9.html

4、VLD使用 http://hi.baidu.com/pdaliu/item/5b70bfb8948e9bea4fc7fda6 

  vs2010使用vld检测内存泄露  http://blog.csdn.net/wolfking_2009/article/details/8995046

 Visual Leak Detector(vld)无法显示内存泄露文件名与行号  http://blog.csdn.net/xiexievv/article/details/8221327

5、vs中检测内存泄漏的方法  http://blog.csdn.net/windows_nt/article/details/8652191

  共三种方法

6、在vc2008中用_crtBreakAlloc调试内存泄漏 http://blog.chinaunix.net/uid-21375345-id-3290446.html

  知道固定的内存编号可使用此法,如:Dumping objects ->
    {858} normal block at 0x003ED290, 12 bytes long。{}中的858即内存编号

具体自己vs2010调试实现:

    首先确定自己的程序使用的是哪个C运行库,方法是程序Propertise -> C/C++ -> Code Generation -> Runtime Library选项,若为Multi-threaded Debug(/MTd),则为静态链接,若为Multi-threaded Debug DLL(/MDd),则为动态链接。

    然后按F11启动程序,程序会停在入口点。此时调出Watch窗口,

    静态链接 在name项中输入_crtBreakAlloc,在value项中输入你要定位的内存分配编号;

    动态链接 在name项中输入{,,msvcr100d.dll}_crtBreakAlloc,在value项中输入内存分配号。注意msvcr90d.dll是vc2008环境使用的运行库dll,若你用的是其他版本vc,请换成对应版本的dll。

    现在按F5运行,程序就会自动定位到你要调试的内存分配语句,这时候看call stack的信息会很有帮助。

 

7、内存泄漏及检测(英文)  http://blog.csdn.net/mikefeng/article/details/1765613

其中包含造成内存泄露的原因类型


 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值