毒自学习

暂无签名

  • 博客访问: 35725
  • 博文数量: 58
  • 用 户 组: 普通用户
  • 注册时间: 1970-01-01 08:00
个人简介

鏆傛棤浠嬬粛

ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(58)

文章存档

2006年(54)

2005年(4)

我的朋友
微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

分类: 微软技术

#include

using namespace std;

#ifdef _DEBUG

#include

inline void* __cdecl operator new(size_t nSize, char* szFileName, int nLine)
{
return _malloc_dbg(nSize, _NORMAL_BLOCK, szFileName, nLine);
}

inline void __cdecl operator delete(void* p, char* /* lpszFileName */, int /* nLine */)

{
_free_dbg(p, _NORMAL_BLOCK);
}

#define new new(__FILE__, __LINE__)

class CMemoryLeakDump
{
public:
CMemoryLeakDump(){}
~CMemoryLeakDump(){ _CrtDumpMemoryLeaks(); }
};

#pragma warning(disable: 4073)
#pragma init_seg(lib)
static CMemoryLeakDump classMemoryLeakDump;
#pragma warning(default: 4073)

#endif // _DEBUG


void main()
{
char* p = new char[1024*1024];
// delete [] p;
}

方法:在需要调试的程序前面添加如下一段代码:

#ifdef _DEBUG
#include
inline void* __cdecl operator new(size_t nSize, LPCSTR lpszFileName, int nLine)
{
return _malloc_dbg(nSize, _NORMAL_BLOCK, lpszFileName, nLine);
}
inline void __cdecl operator delete(void* p, LPCSTR /* lpszFileName */, int /* nLine */)
{
_free_dbg(p, _NORMAL_BLOCK);
}
#define new new(__FILE__, __LINE__)

class CMemoryLeakDump
{
public:
CMemoryLeakDump(){}
~CMemoryLeakDump(){ _CrtDumpMemoryLeaks(); }
};

#pragma warning(disable: 4073)
#pragma init_seg(lib)
static CMemoryLeakDump classMemoryLeakDump;
#pragma warning(default: 4073)

#endif // _DEBUG

[@more@]
阅读(1499) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册