메모리 릭 문제는 해충과 같다. 아무리 없애도 또 나오고, 다시 없애도 다시 나온다. 아무리 좋은 기술과 좋은 방법을 도입한다고 해도 근본적인 문제해결은 되지않으며 단지 도움만 될뿐이다.
여기서 그 도움이 되는 기술을 살펴보겠다.
작성자: Ospace(ospace114@empal.com), cyworld.com/ospace
메모리릭(Memory leak) 관련
CMemoryState
MFC 클래스로 현재 메모리 스냅샷을 저장해두어 메모리 릭 위치를 찾는데 도움이 된다.
MSDN에서 Taking Memory Snapshots으로 찾으면 된다.
사용방법은 간단하다.
- 객체 선언
- 시작 스냅샷
- 끝 스냅샷
- 비교
<예제>
// 객체 선언
CMemoryState begin, end, diff;
// 시작 스냅샷
begin.Checkpoint();
// 중략 (코드 실행)
// 끝 스냅샷
end.Checkpoint();
// 비교, 결과 출력
if(diff.Difference(begin, end)) {
diff.DumpStatistics(); // 문제가 있을 경우만 출력
}
반응형
'3.구현 > VC++' 카테고리의 다른 글
콜백 함수 (Callback function) (0) | 2012.08.14 |
---|---|
문자열 - 유니코드 팁 tstring (0) | 2012.08.14 |
도스 프롬프트에서 명령어 옵션 처리 (0) | 2012.08.14 |
네트워크 트래픽 사용량 측정하기 (0) | 2012.08.14 |
[에러]LNK1241 Linker Tools Error (0) | 2012.08.14 |