您的位置:首页 > 其它

vs2013 内存泄露检测方法

2015-10-23 14:38 351 查看
[转] http://blog.csdn.net/windows_nt/article/details/8652191
非MFC程序可以用以下方法检测内存泄露:

1.程序开始包含如下定义:

#ifdef _DEBUG

#define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__)

#else

#define DEBUG_CLIENTBLOCK

#endif // _DEBUG

#define _CRTDBG_MAP_ALLOC

#include <stdlib.h>

#include <crtdbg.h>

#ifdef _DEBUG

#define new DEBUG_CLIENTBLOCK

#endif // _DEBUG

2.程序中添加下面的函数:

_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF);

Debug版本程序运行结束后如有内存泄漏,输出窗口中会显示类似信息:

Detected memory leaks!

Dumping objects ->

g:\programs\test\test.cpp(16) : {51} client block at 0x00385C58, subtype 0, 4 bytes long.

Data: < > CD CD CD CD

Object dump complete.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: