본문 바로가기
프로그래밍/C++

Memory Leak 탐지방법

by 건우아빠유리남편 2011. 8. 19.
반응형


김정현입니다.

Memory Leak에서 발생위치를 탐지 하는 방법입니다.

 

Leak 발생 시 출력창에 아래와 같은 메시지가 출력 됩니다.

 

이렇게 메모리 누수가 발생 할 때, 해당 주소에 메모리를 할당한 시점에 BreakPoint를 걸어주어 해당 메모리 위치를 찾을 수 있는 방안입니다.

프로그램의 시작점 다음 함수를 사용합니다. 저의 경우엔 (App클래스의 InitInstance함수 첫줄에 아래 함수를 사용 하였습니다.)

_CrtSetBreakAlloc(블록번호);

 

예를 들어 위와 같은 Memory Leak 발생시 _CrtSetBreakAlloc(18)과 같이 프로그램 시작점에 호출하면, 해당 블록번호가 생성될 때 브레이크 되기 때문에 발생 위치를 짐작 할 수 있습니다.

 

이상입니다.

 

출처 : http://gameprogrammer.tistory.com/23

반응형

댓글