在可能泄漏的文件头部加入下面几行(保证malloc和new的泄漏都可以检测到)
#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>
#ifdef _DEBUG //重载new运算符
#define new new(_NORMAL_BLOCK, __FILE__, __LINE__)
#endif
程序运行起始位置: _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
或者程序退出前加入: _CrtDumpMemoryLeaks();void main()
{
//方式1:_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
int* p = new int(5);
MyTest1 mtest1;
mtest1.NewVluae();
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
//方式二:_CrtDumpMemoryLeaks();
getchar();
}
//使用vs 2015自测方式一无效,方式二可以输出泄漏信息
标签:__,泄漏,ALLOC,CRTDBG,VS2015,C++,DF,内存,new From: https://www.cnblogs.com/kinglxg/p/17555925.html