C++中检测内存泄漏

在进行大型项目编程时,难免会出现内存泄漏,有的泄漏不易察觉,但是对于程序的压力测试来说,一点点的内存最终会引起程序的崩溃(内存被耗尽!)。在程序中添加内存泄漏检测机制非常重要!

以VS2013 C++为例,可以在程序中添加头文件:

#define _CRTDBG_MAP_ALLOC

#include <stdlib.h>

#include <crtdbg.h>

以上的顺序最好不要颠倒。

此外在程序的结束位置,添加以下代码:

_CrtDumpMemoryLeaks();

debug模式下,若程序存在内存泄漏的情况,会在 输出 窗口显示以下信息:

以上表明,程序存在内存泄漏的情况,可根据提示的信息定位内存泄漏的原因。以上可知,在Sunny.cpp文档的1424行出现内存泄漏(一般是内存申请空间的地方,但是没有地方进行内存释放!)。

猜你喜欢

转载自blog.csdn.net/qq_33810188/article/details/81021239