- 4
- 0
- 约5.92千字
- 约 5页
- 2015-10-08 发布于重庆
- 举报
检测C中的内存泄漏
检测C++中的内存泄漏
首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才
能将其修复。
最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck,功能非常强大,
相信做C++开发的人都离不开它。此外就是不使用任何工具,而是自己来实现对内存泄露的
监控,分如下两种情况
一. 在 MFC 中检测内存泄漏
假如是用MFC 的程序的话,很简单。默认的就有内存泄露检测的功能。
我们用VS2005生成了一个MFC的对话框的程序,发现他可以自动的检测内存泄露.不用
我们做任何特殊的操作. 仔细观察,发现在每个CPP 文件中,都有下面的代码:
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
DEBUG_NEW 这个宏定义在afx.h文件中,就是它帮助我们定位内存泄漏。
在含有以上代码的 cpp 文件中分配内存后假如没有删除,那么停止程序的时候,
VisualStudio 的Output 窗口就会显示如下的信息了
Detectedmemoryleaks!
Dumping objects-
d:“code“mfctest“mfc
原创力文档

文档评论(0)