본문 바로가기
코스웨어/13년 스마트컨트롤러

메모리누수를 찾아주는 깨알같이 유용한 라이브러리

by 알 수 없는 사용자 2013. 11. 5.
728x90
반응형

제 블로그의 글을 복붙해서 사진이 깨질수도 있습니다;;


개요

 링크드 리스트나, 동적할당, 비트맵 등등을 한번에 마구잡이로 사용하다보면 가끔 자원 해제를 깜빡하여 미아가 되어 메모리 안을 떠도는 경우가 있습니다. 이를 해결해주는 것 중 Visual Leak Detector for Visual C++(이하 VLD)라는 유용한 라이브러리가 있습니다. 단순하게 프로젝트에 라이브러리를 추가해 주고, 헤더를 인클루드하면 디버깅 모드에서 메모리누수가 날 때 Output창에 출력해주는 것을 토대로 소스를 고쳐나가면 됩니다.



설치방법


공식사이트(https://vld.codeplex.com/) 에서 Downloads메뉴에 들어간 후, 원하는 버전을 다운받습니다.

파일을 다 다운받았다면 적당히 설치해 줍니다.



설치가 끝나면, VS에서 원하는 프로젝트를 열고, Project메뉴를 열고 Properties를 엽니다.



메뉴를 열고, VC++ Directories를 클릭합니다.



Include Directories에 VLD의 include폴더를 추가합니다.



Library Directories에 VLD의 lib폴더에서, 자신의 컴퓨터에 맞는 폴더를 선택하여 추가합니다.



소스의 #include 부분의 최하단에 vld.h를 인클루드합니다.



디버그를 하면 누수가 생길 때 마다 위와 같이 Output 창에 누수 위치와 상세 정보가 출력됩니다.



누수가 없으면 이렇게 출력됩니다.

728x90