高分求助!!!C内存泄露检测问题
发布网友
发布时间:2022-04-28 15:38
我来回答
共5个回答
热心网友
时间:2022-06-19 11:40
我的回答比较靠下,不知道你能不能看到呢?
是这样的,你所给的Report是
1 free blocks
2 normal blocks
3 CRT blocks
4 ignore blocks
5 client blocks
6 maximum memory used by the program at any one time (in bytes)
7 total memory currently used by the program (in bytes)
以上内容来自MSDN,所以
Largest number used和Total allocations的含义就很明显了
也就第六和第七项标明的含义
Largest number used表示在同一时刻使用过的最大内存大小
Total allocations表示当前使用的内存大小
热心网友
时间:2022-06-19 11:41
1、VC下内存泄漏检测的办法:
在main函数最后增加以下内容:
#ifdef DEBUG
_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
_cexit();
_CrtDumpMemoryLeaks();
_exit(0);
#endif
2、在内存泄漏中提示分配语句所在文件及行的方法:
在可能调用分配语句的地方定义:
#ifdef _DEBUG
#define CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
#define DEBUG_NEW new(_NORMAL_BLOCK, __FILE__,__LINE__)
#define new DEBUG_NEW
#endif
热心网友
时间:2022-06-19 11:41
你可以对于malloc进行overload,
在malloc中,进行bufferID,Appchain等信息的输出
热心网友
时间:2022-06-19 11:42
这个,我建议你用第三方的工具,推荐:
compware 公司的 dev parterner for visual c++
热心网友
时间:2022-06-19 11:42
strp 是 What?