장시간 프로그램 실행시 메모리가 증가하는 경우, 자원 해제를 빼먹은 부분을 찾아주는 유용한 툴 중 하나인,
"Visual Leak Detector for Visual C++ 2008/2010/2012/2013"라는 유용한 라이브러리를 소개합니다.
설치 후 간단하게 프로젝트에 헤더파일 추가와 경로설정만하면 끝!
1. 다운로드 & 설치
2. C++ 프로젝트에 VLD 경로 추가
Visual C++ 프로젝트 속성을 클릭하여 VC++ 디렉터리의 포함/라이브러리 디렉터리에 VLD의 경로를 추가합니다.
1) 포함 디렉터리 추가
ex) "C:\Program Files (x86)\Visual Leak Detector\include"
2) 라이브러리 디렉터리 추가
ex) "C:\Program Files (x86)\Visual Leak Detector\lib\Win32" (개발하는 프로그램이 32bit인 경우)
3. VLD 헤더파일 추가
VLD를 사용하기 위한 헤더파일을 소스에 추가합니다.
4. 메모리 누수 체크하기
간단한 샘플 코드를 실행하여 종료시킨 후의 DEBUG 로그를 확인합니다.
디버그로그에 보면 파일의 경로와 함께 "memoryleaktest.cpp (6)"이라고 출력이되었고,
해당 파일의 6번째 라인을 보면 누수된 코드를 확인 할 수 있습니다.
* 메모리 누수가 체크된 경우
* 메모리 누수가 없다고 체크된 경우
메모리 누수가 없는 경우는 아래와 같이 출력됩니다.
Visual Leak Detector Version 2.3 installed. Outputting the report to the debugger and to F:\Project\Test\MemLeakTestCpp\memory_leak_report.txt No memory leaks detected. Visual Leak Detector is now exiting. |
* 샘플 코드
◆ VLD 출력 설정하기
출력 데이터를 파일로, callstack level 설정 등을 변경하고 싶다면 vld.ini 파일을 수정합니다.
(설치된 경로에 위치)
* 출력 데이터 경로 설정하기 : 파일 및 debugger
1) ReportTo 값을 Both로 변경하여 debugger와 파일로 동시 출력하게 설정
2) 파일 확인
출처: http://dg087.tistory.com/9 []