当前位置: 首页 > 工具软件 > memwatch > 使用案例 >

内存检测工具memwatch的使用(windows)

叶景龙
2023-12-01

一、memwatch

memwatch是一个能够用于检测内存泄漏和错误的工具。

下载链接:https://www.linkdata.se/sourcecode/memwatch/

二、使用步骤

1.将memwatch.h和memwatch.c复制到项目之下。   
2.程序包含memwatch.h   (如果有多个文件,应该每个文件都要包含这个.h  未实验)
3.主程序最上面进行宏定义:
                  #define MEMWATCH
                  #define MEMWATCH_STDIO 或则 #define MW_STDIO
4.生成的memwatch.log在当前目录

三、测试程序

#define _CRT_SECURE_NO_WARNINGS
#define MEMWATCH
#define MEMWATCH_STDIO
//#define MW_STDIO

#include <stdio.h>
#include <stdlib.h>
#include "memwatch.h"

int getMem(char **myp)
{
	char *p = (char*)malloc(100);
	if (p == NULL)
	{
		return -1;
	}
	*myp = p;
	return 0;
}


void main()
{
	char *tmp = NULL;
	getMem(&tmp);
	system("pause");
}

四、memwatch.log结果

============= MEMWATCH 2.71 Copyright (C) 1992-1999 Johan Lindh =============

Started at Thu Mar 19 20:48:57 2020

Modes: 64-bit mwDWORD==(unsigned long)
mwROUNDALLOC==8 sizeof(mwData)==32 mwDataSize==32
Compiled using Microsoft C 18.00


Stopped at Thu Mar 19 20:48:59 2020

unfreed: <1> e:\code\c++\c提高\内存泄漏工具使用测试\内存泄漏工具使用测试\memwatch_test.cpp(12), 100 bytes at 0129DEA0  	{FE FE FE FE FE FE FE FE FE FE FE FE FE FE FE FE ................}

Memory usage statistics (global):
 N)umber of allocations made: 1
 L)argest memory usage      : 100
 T)otal of all alloc() calls: 100
 U)nfreed bytes totals      : 100
MEMWATCH detected 1 anomalies

 

 类似资料: