调试内存泄漏的方法
来源:互联网 发布:计算机编程专业 编辑:程序博客网 时间:2024/05/22 03:14
VC中要调试内存泄漏,只需要在程序中包含以下语句:
#define CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
然后在main开始处,加入如下语句:
#ifdef _DEBUG
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
#endif
或者 在程序结束处加入
#ifdef _DEBUG
_CrtDumpMemoryLeaks();
#endif
这样在程序结束的时候就会在输出窗口输出内存泄漏的信息,如:
Detected memory leaks!
Dumping objects ->
{651} normal block at 0x00FA9B58, 376 bytes long.
Data: < b= }= ( = = > F0 62 3D 00 90 7D 3D 00 28 96 3D 00 C0 AE 3D 00
Object dump complete.
要想找到具体是哪里new了没有释放,只需要在程序开头再添加一句:
_CrtSetBreakAlloc(xxx);
xxx为泄漏的内存块,可以从输出信息里面查找到,如上面的话就是651,可以理解成第几次分配的内存.
- 调试内存泄漏的方法
- 内存泄漏调试方法
- 在 Linux下调试内存泄漏的方法
- 基于源码内存泄漏的快速调试方法
- kernel内存泄漏的调试
- VC++调试内存泄漏简单方法
- 检测内存泄漏的方法
- 查内存泄漏的方法
- 查处内存泄漏的方法
- 避免内存泄漏的方法
- 分析、调试内存泄漏的应用程序
- Android的内存泄漏和调试
- 一次调试内存泄漏的过程
- Android的内存泄漏和调试
- Android的内存泄漏和调试
- Android的内存泄漏和调试
- Android的内存泄漏和调试
- Android的内存泄漏和调试
- 通过例子学习lua-5
- 通过例子学习lua-6
- ajaxpro 原理
- “无法连接到服务器,未与信任SQL Server连接相关联”问题
- 通过例子学习lua-7
- 调试内存泄漏的方法
- HttpServlet详解
- vi使用
- Google code jam Round1B Problem B
- 根据显示宽度分割字符串
- SQL Server 自动备份脚本
- Java学习第三日
- xdoclet for hibernate
- WCF之ABC