본문 바로가기

Programming/C/C++

메모리 누수 검사

#define _CRTDBG_MAP_ALLOC
 
#include <iostream>
#include <cstdlib>
#include <cstdio>
 
#include <crtdbg.h>
 
int main(){
	_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
 
	int *a;        //변수 선언
 
	/* 메모리할당 */
	a = new int[10];
 
	/* 메모리해제 */
	delete a;
 
	_CrtDumpMemoryLeaks();
	system("pause");
 
	exit(EXIT_SUCCESS);

}

기본코드 입니다.

#define _CRTDBG_MAP_ALLOC
#include <cstdlib>
#include <crtdbg.h>

는 순번에 맞춰서 입력해 주어야 합니다.( MSDN 출처 )

_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);

// do something..

_CrtDumpMemoryLeaks();

do something에서 작업을 하고 난 후에 메모리 정리가 되어있지 않으면, 비쥬얼스튜디오에서 아래와 같은 Output을 보실 수 있습니다.


'Programming > C/C++' 카테고리의 다른 글

포인터 2차 동적 할당  (0) 2011.02.21
Random double 값 추출하기  (0) 2011.02.10
cos  (0) 2011.02.10
배열 개수 확인하는 방법  (0) 2011.01.27
문자열과 숫자형 변환  (0) 2011.01.26