VS2005 C++ 中内存泄漏检测
来源:互联网 发布:日照分析软件 编辑:程序博客网 时间:2024/05/22 11:45
开发工具:VS2005。(在VC++6.0中好像也可以这么用)
目的:检测C++代码中有无内存泄漏(即动态分配了内存,而没有正确释放)。
操作步骤:
一、把以下debug_new.h和debug_new.cpp文件加入项目中。
debug_new.h
debug_new.cpp
二、在需要检测的DynamicMem.cpp中加入
1.
#include "debug_new.h"。
2.
使用调试堆函数:
#define _CRTDBG_MAP_ALLOC
#include<stdlib.h>
#include<crtdbg.h>
注意:#include 语句的顺序。如果更改此顺序,所使用的函数可能无法正确工作。
3.main()中一开始处加入REG_DEBUG_NEW宏
4.在需要检测内存泄漏的地方添加下面这条语句来输出内存泄漏信息:
_CrtDumpMemoryLeaks();
测试实例程序:
DynamicMem.cpp
三、按F5运行。
会在“调试”窗口中显示:
Detected memory leaks!
Dumping objects ->
e:/workspaces/c++/dynamicmem/dynamicmem/dynamicmem.cpp(78) : {120} normal block at 0x003B6360, 2 bytes long.
Data: <AB> 41 42
Object dump complete.
这说明有内存泄漏。
如里把delete[] name;前去掉注释,则“调试”窗口中就不会出现以上的信息,说明无内存泄漏。
以上参考:http://dev.firnow.com/course/3_program/vc/vc_js/200843/108309.html
经本人修改。
- VS2005 C++ 中内存泄漏检测
- VS2005内存泄漏检测方法
- VS2005内存泄漏检测方法
- VS2005内存泄漏检测方法
- VS2005内存泄漏检测方法
- VS2005内存泄漏检测方法
- VS2005内存泄漏检测方法
- VS2005 检测内存泄漏的方法(转载)
- vs2005及以上检测测内存泄漏
- C代码检测内存泄漏
- c/c++内存泄漏检测
- C/C++检测内存泄漏
- C语言内存泄漏检测
- C/C++内存泄漏检测
- C/C++内存泄漏检测
- C语言中内存泄漏的检测方法
- C\C++中使用_CrtDumpMemoryLeaks进行内存泄漏检测
- 【C/C++】C/C++内存泄漏检测
- Solaris 用户管理
- Ubuntu下tar.gz文件安装方法
- My97日历控件用法
- configure: error: Cannot find the WebServer
- JAVA语言的反射和内省
- VS2005 C++ 中内存泄漏检测
- Ubuntu下解压命令全览
- sig_atomic_t
- VC++6.0中内存泄漏检测
- 解决由于sql2000日志文件引起的“置疑”
- 编码
- JDOM 解析xml
- Linux 设备驱动
- Java经典视频初级到项目全套下载、在线学习