본문 바로가기
프로그래밍/MFC

오류 해결 - 메모리 leck

by 완소루피 2020. 11. 13.
728x90
반응형

메모리 릭이 발생하였을 때는

 

new로 메모리를 생성하는 모든 cpp 에서..

 

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

 

위 내용을 상단에 적어준다..

 

이유는 new라는 것을 DEBUG_NEW로 바꿔서 사용하겠다는 뜻인데..

 

DEBUG_NEW를 사용하게 될 경우 메모리 릭이 발생하는 위치를 디버깅을 통하여 바로 찾아갈수 있기 때문이다..

 

우선 셈플로 강제로 릭을 발생하오 DEBUG_NEW로 선언하였을때 아닐때를 비교해보자..

 

DEBUG_NEW로 생성하였을 경우

 

 

일반적으로 new로 생성하였을 경우

 

비교하시면 알수 있겠지만.. 어느 코드 부분에서 메모리 릭이 발생하였다는 것을 정확하게 알수 있다..

 

해당 cpp의 경로를 더블클릭하면 해당 위치로 정확하게 이동하니 훨씬 편하게 확인할 수 있으니..

 

그 다음부터는 해당 메모리를 어떻게 해제할 것인가를 고민하여야 할듯.

728x90
반응형