헤더파일: <crtdbg.h>
_CrtDumpMemoryLeaks() :
이 함수는 함수 호출 시점 전까지 발생한 메모리 릭 정보를 출력한다
* 디버그 모드에서만 사용한다.
_CrtSetDbgFlag() :
이 함수는 메모리릭 발생 된 이후 시점에서 호출한다.
/////////////////////////////////////////////////////////////////////////////
프로그램 시작부분에 아래와 같이 함수를 호출하여 사용한다.
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
_CRTDBG_ALLOC_MEM_DF 플래그 값이 디버그모드에서 메모리 할당이 일어날 때 마다 추적한다.
_CRTDBG_LEAK_CHECK_DF 플래그 값이 프로그램이 종료되기 전에 자동으로 _CrtDumpMemoryLeaks() 함수를 호출하여 메모리를 할당한 후 해제 하지 않는 메모리가 있는지 확인한다.
// 예제 코드
#include <stdlib.h> // malloc 함수 사용
#include <crtdbg.h>
void main()
{
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
char* cp;
cp = (char*)malloc(16);
}
위와 같이 하면 malloc(16) 에 대해서 메모리 릭을 경고한다. (할당 후 해제 하지 않았으므로)
[참조 : http://loger1000.springnote.com/pages/1715936]
-------------추가 설명-------------

-------------디버그용 범용 클래스-------------

[참고 : http://support.microsoft.com/kb/601929/ko]
출처 : http://blog.naver.com/dkfqkeorkfl/120131502699
최근 덧글