C++ 内存泄露处理方法 (转)

1.可以显示内存泄露情况,但无法找到具体的文件位置写法

包含头文件#include <crtdbg.h>

然后在需要检测内存泄露的位置加上语句

 _CrtDumpMemoryLeaks();

之后的显示就是内存泄露的多少及块情况信息。

2.还要显示在何文件中泄露

将头文件语句换成为

#ifdef _DEBUG
#define DEBUG_CLIENTBLOCK   new( _CLIENT_BLOCK, __FILE__, __LINE__)
#else
#define DEBUG_CLIENTBLOCK
#endif
#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>
#ifdef _DEBUG
#define new DEBUG_CLIENTBLOCK
#endif

此时将能定位到泄露的具体文件,按F4可以进行查找。

原文地址:https://www.cnblogs.com/mazhenyu/p/4105190.html