Chinaunix首页 | 论坛 | 博客

abc

  • 博客访问: 22601
  • 博文数量: 17
  • 博客积分: 765
  • 博客等级: 军士长
  • 技术积分: 175
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-11 22:34
文章分类

全部博文(17)

文章存档

2010年(3)

2009年(14)

我的朋友
最近访客

分类: C/C++

2009-12-16 21:34:45

#include
#include
#define _CRTDBG_MAP_ALLOC
#include

int main()
{
// 设置标志后, 编译器会自动在任何退出的地方调用_CrtDumpMemoryLeaks();输出内存泄漏报告
//_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );

_CrtMemState s1, s2, s3; // 声明内存状态结构变量
_CrtMemCheckpoint( &s1 ); // 获取第一个内存状态快照

char *p = new char[32];

_CrtMemCheckpoint(&s2); // 获取第二个内存状态快照

// 比较两个内存快照的差异
if ( _CrtMemDifference( &s3, &s1, &s2) )
   _CrtMemDumpStatistics( &s3 );// dump 差异结果

// 输出内存泄漏报告,显示在 Output 窗口的 Debug 页中
_CrtDumpMemoryLeaks();


return 0;
}

输出:

_CrtMemDumpStatistics 输出:

0 bytes in 0 Free Blocks.
32 bytes in 1 Normal Blocks.
0 bytes in 0 CRT Blocks.
0 bytes in 0 Ignore Blocks.
0 bytes in 0 Client Blocks.
Largest number used: 0 bytes.
Total allocations: 32 bytes.

_CrtDumpMemoryLeaks 输出:

Detected memory leaks!
Dumping objects ->
f:\code2005\showmemoryleak\showmemoryleak\showmemoryleak.cpp(15) : {52} normal block at 0x003A5B50, 32 bytes long.
Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
Object dump complete.

阅读(353) | 评论(0) | 转发(0) |
0

上一篇:模拟call

下一篇:关于 WSAENOBUFS (10055)

给主人留下些什么吧!~~