티스토리 뷰
Programming Tips/MFC Advanced
[MFC] Memory leak, 메모리 누수 감지하기 - CMemoryState::Difference
Unikys 2012. 3. 4. 10:55아래의 소스를 추가
그리고 아래의 소스를 프로그램이 종료될때 입력.
디버그 모드일때
처럼하거나
이렇게 넣으면 된다. 디버그 모드일때 해야한다는게 중요.
CMemoryState::DumpAllObjectsSince와 CMemoryState::Difference를 이용하는것도 한 방법.
이전 상태의 메모리와 이후 상태의 메모리를 비교하는것이 가능하다. 아래가 하나의 예.
CMemoryState msOld, msNew, msDiff;
msOld.Checkpoint();
//소스 실행
//소스 실행 끝
msNew.Checkpoint();
if(msDiff.Difference(msOld , msNew))
{
TRACE("Memory leaked!\n");
msDiff.DumpStatistics();
}
#define _CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h>
그리고 아래의 소스를 프로그램이 종료될때 입력.
_CrtDumpMemoryLeaks();
디버그 모드일때
#define new DEBUG_NEW
처럼하거나
#define DEBUG_NEW new(__FILE__, __LINE__)
#define new DEBUG_NEW
이렇게 넣으면 된다. 디버그 모드일때 해야한다는게 중요.
CMemoryState::DumpAllObjectsSince와 CMemoryState::Difference를 이용하는것도 한 방법.
BOOL Difference( const CMemoryState& oldState, const CMemoryState& newState);
이전 상태의 메모리와 이후 상태의 메모리를 비교하는것이 가능하다. 아래가 하나의 예.
CMemoryState msOld, msNew, msDiff;
msOld.Checkpoint();
//소스 실행
//소스 실행 끝
msNew.Checkpoint();
if(msDiff.Difference(msOld , msNew))
{
TRACE("Memory leaked!\n");
msDiff.DumpStatistics();
}
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- gae
- Python
- HTML5 튜토리얼
- php
- 뽐뿌
- lecture
- GX-10
- 샷
- java
- 안드로이드 앱 개발 기초
- 안드로이드
- 자바스크립트
- TIP
- 팁
- 속깊은 자바스크립트 강좌
- 탐론 17-50
- HTML5
- 서울
- 삼식이
- gre
- mini project
- Android
- google app engine
- ny-school
- Javascript
- 사진
- K100D
- 강좌
- c++
- Writing
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함