Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16498738
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:00:20

下载本文示例代码
天极软件专题专区精选     到天极软件“读编交流区”畅所欲言 Google专区 POPO专区 QQ专区 QQ挂机 了解Web2.0 Flash MX 视频教程 Photoshop视频教程 网页设计视频教程 照片处理数字暗房 PPT动画演示教程 Excel动画教程集 Word动画演示教程 Windows Vista专区 特洛伊木马专区 黑客知识教程专区 防火墙应用专区 注册表应用专区 Windows API开发专区 网络编程专区 VB数据库编程专区 图像处理与多媒体编程  摘要  本文分析了Windows环境使用MFC调试内存泄露的技术,介绍了在Windows环境下用VC 查找,定位和消除内存泄露的方法技巧。   关键词:VC ;CRT 调试堆函数;试探法。  技术原理  检测内存泄漏的主要工具是调试器和 CRT 调试堆函数。若要启用调试堆函数,请在程序中包括以下语句: #define CRTDBG_MAP_ALLOC#include #include   注意 #include 语句必须采用上文所示顺序。如果更改了顺序,所使用的函数可能无法正确工作。   通过包括 crtdbg.h,将 malloc 和 free 函数映射到其“Debug”版本_malloc_dbg 和_free_dbg,这些函数将跟踪内存分配和释放。此映射只在调试版本(在其中定义了 _DEBUG)中发生。发布版本使用普通的 malloc 和 free 函数。  #define 语句将 CRT 堆函数的基版本映射到对应的“Debug”版本。并非绝对需要该语句,但如果没有该语句,内存泄漏转储包含的有用信息将较少。  在添加了上面所示语句之后,可以通过在程序中包括以下语句来转储内存泄漏信息: _CrtDumpMemoryLeaks();  当在调试器下运行程序时,_CrtDumpMemoryLeaks 将在“输出”窗口中显示内存泄漏信息。内存泄漏信息如下所示: Detected memory leaks!Dumping objects ->C:PROGRAM FILESVISUAL STUDIOMyProjectsleaktestleaktest.cpp(20) : {18} normal block at 0x00780E80, 64 bytes long.Data: <        > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD 编辑推荐:在Visual C 中检测和隔离内存泄漏 天极软件专题专区精选     到天极软件“读编交流区”畅所欲言 Google专区 POPO专区 QQ专区 QQ挂机 了解Web2.0 Flash MX 视频教程 Photoshop视频教程 网页设计视频教程 照片处理数字暗房 PPT动画演示教程 Excel动画教程集 Word动画演示教程 Windows Vista专区 特洛伊木马专区 黑客知识教程专区 防火墙应用专区 注册表应用专区 Windows API开发专区 网络编程专区 VB数据库编程专区 图像处理与多媒体编程  摘要  本文分析了Windows环境使用MFC调试内存泄露的技术,介绍了在Windows环境下用VC 查找,定位和消除内存泄露的方法技巧。   关键词:VC ;CRT 调试堆函数;试探法。  技术原理  检测内存泄漏的主要工具是调试器和 CRT 调试堆函数。若要启用调试堆函数,请在程序中包括以下语句: #define CRTDBG_MAP_ALLOC#include #include   注意 #include 语句必须采用上文所示顺序。如果更改了顺序,所使用的函数可能无法正确工作。   通过包括 crtdbg.h,将 malloc 和 free 函数映射到其“Debug”版本_malloc_dbg 和_free_dbg,这些函数将跟踪内存分配和释放。此映射只在调试版本(在其中定义了 _DEBUG)中发生。发布版本使用普通的 malloc 和 free 函数。  #define 语句将 CRT 堆函数的基版本映射到对应的“Debug”版本。并非绝对需要该语句,但如果没有该语句,内存泄漏转储包含的有用信息将较少。  在添加了上面所示语句之后,可以通过在程序中包括以下语句来转储内存泄漏信息: _CrtDumpMemoryLeaks();  当在调试器下运行程序时,_CrtDumpMemoryLeaks 将在“输出”窗口中显示内存泄漏信息。内存泄漏信息如下所示: Detected memory leaks!Dumping objects ->C:PROGRAM FILESVISUAL STUDIOMyProjectsleaktestleaktest.cpp(20) : {18} normal block at 0x00780E80, 64 bytes long.Data: <        > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD 编辑推荐:在Visual C 中检测和隔离内存泄漏 下载本文示例代码


关于MFC下检查和消除内存泄露的技巧关于MFC下检查和消除内存泄露的技巧关于MFC下检查和消除内存泄露的技巧关于MFC下检查和消除内存泄露的技巧关于MFC下检查和消除内存泄露的技巧关于MFC下检查和消除内存泄露的技巧关于MFC下检查和消除内存泄露的技巧关于MFC下检查和消除内存泄露的技巧关于MFC下检查和消除内存泄露的技巧关于MFC下检查和消除内存泄露的技巧关于MFC下检查和消除内存泄露的技巧关于MFC下检查和消除内存泄露的技巧关于MFC下检查和消除内存泄露的技巧关于MFC下检查和消除内存泄露的技巧关于MFC下检查和消除内存泄露的技巧
阅读(223) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~