



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、检测内存泄漏的主要工具是调试器和 C 运行时库 (CRT 调试堆函数。若要启用调试堆函数,请在程序中包括以下语句: 复制代码#define _CRTDBG_MAP_ALLOC#include #include 注意#include 语句必须采用上文所示顺序。如果更改了顺序,所使用的函数可能无法正确工作。 通过包括,将 malloc 和 free 函数映射到其“Debug”版本 _malloc_dbg 和 _free_dbg,这些函数将跟踪内存分配和释放。此映射只在调试版本(在其中定义了 _DEBUG)中发生。发布版本使用普通的 malloc 和 free 函数。#define 语句将
2、 CRT 堆函数的基版本映射到对应的“Debug”版本。并非绝对需要该语句,但如果没有该语句,内存泄漏转储包含的有用信息将较少。在添加了上面所示语句之后,可以通过在程序中包括以下语句来转储内存泄漏信息: 复制代码_CrtDumpMemoryLeaks(;当在调试器下运行程序时,_CrtDumpMemoryLeaks 将在“输出”窗口中显示内存泄漏信息。内存泄漏信息如下所示: 复制代码Detected memory leaks!Dumping objects ->C:PROGRAM FILESVISUAL STUDIOMyProjectsleaktestleaktest
3、.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 CDObject dump complete.如果没有使用 #define _CRTDBG_MAPALLOC 语句,内存泄漏转储将如下所示: 复制代码Detected memory leaks!Dumping objects ->18 normal block at 0x00780E80, 64 bytes long.Data: < >
4、CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CDObject dump complete.未定义 _CRTDBG_MAP_ALLOC 时,所显示的会是: 内存分配编号(在大括号内)。 块类型(普通、客户端或 CRT)。 十六进制形式的内存位置。 以字节为单位的块大小。 前 16 字节的内容(亦为十六进制)。定义了 _CRTDBG_MAP_ALLOC 时,还会显示在其中分配泄漏的内存的文件。文件名后括号中的数字(本示例中为 20)是该文件内的行号。转到源文件中分配内存的行 在“输出”窗口中双击包含文件名和行号的行。 - 或 - 在“输出”窗口中选择包
5、含文件名和行号的行,然后按 F4 键。_CrtSetDbgFlag如果程序总是在同一位置退出,调用 _CrtDumpMemoryLeaks 将非常容易。如果程序从多个位置退出,则无需在每个可能退出的位置放置对 _CrtDumpMemoryLeaks 的调用,而可以在程序开始处包含以下调用: 复制代码_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ;该语句在程序退出时自动调用 _CrtDumpMemoryLeaks。必须同时设置 _CRTDBG_ALLOC_MEM_DF 和 _CRTDBG_ALLOC_MEM_DF 两个位域,如上所示。设置 CRT 报告模式默认情况下,_CrtDumpMemoryLeaks 将内存泄漏信息转储到“输出”窗口的“调试”窗格,如上所述。可以使用 _CrtSetReportMode 重置该设置,以转储到另一位置。如果使用库,它可以将输出重置到另一位置。在此情况下,可以使用以下语句将输出位置设置回“输出”窗口: 复制代码_CrtSe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年03月浙江金华市金东区部分事业单位公开招聘工作人员17人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年03月广西贵港市引进民办普通高校高层次人才45人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年03月嘉兴海盐县事业单位公开招聘96人-统考笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年03月安徽农业大学专职辅导员和管理岗位公开招聘16人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年03月台州市科技馆公开招聘3人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 中级网络工程师-2019年下半年(下午)《网络工程师》案例分析真题
- 新疆阿克苏地区沙雅县2025年初三下学期第六次检测试题英语试题试卷含答案
- 大连软件职业学院《中国文学批评史研究型》2023-2024学年第二学期期末试卷
- 上海出版印刷高等专科学校《传递现象》2023-2024学年第一学期期末试卷
- 昆明铁道职业技术学院《有机食品》2023-2024学年第一学期期末试卷
- 产品特殊价格申请表
- 2023年河南郑州大学第二附属医院经开院区招聘药学工作人员笔试备考题库及答案解析
- 社会保障基金管理智慧树知到答案章节测试2023年首都经济贸易大学
- 一年级语文雨点儿-教学课件【希沃白板初阶培训结营大作业】
- 卫生部手术分级目录(2023年1月份修订)
- GA/T 1323-2016基于荧光聚合物传感技术的痕量炸药探测仪通用技术要求
- 钢栈桥施工监理细则
- 优秀员工荣誉证书模板
- 金蝶PLM详细介绍
- 湖南文艺出版社小学六年级下册音乐全册教案
- 高中语文《祝福》“谁是凶手”系列之祥林嫂死亡事件《祝福》探究式学习(教学课件) 课件
评论
0/150
提交评论