欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C++ 定位new内存泄漏

程序员文章站 2022-05-27 09:27:28
...
// debug.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <assert.h>
#include <iostream>


#ifdef _DEBUG
#define DEBUG_CLIENTBLOCK   new( _CLIENT_BLOCK, __FILE__, __LINE__)
#else
#define DEBUG_CLIENTBLOCK
#endif
#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>
#ifdef _DEBUG
#define new DEBUG_CLIENTBLOCK
#endif



void Exit()
{
    int i = _CrtDumpMemoryLeaks();
    //_wassert(_CRT_WIDE("内存泄漏"), _CRT_WIDE(__FILE__), __LINE__);
    assert(i==0);
}
int _tmain(int argc, _TCHAR* argv[])
{
    atexit(Exit);
    int* p = new int();
    system("pause");
    return 0;
}

如图所示定位到没有delete 的new的行数
C++ 定位new内存泄漏

相关标签: 调试