본문 바로가기

메모리체크

메모리누수 기능 체크 VS 의 메모리 누수 탐지기능을 이용한 방법이다. 사용방법은 매우 간단하다. #define _CRTDBG_MAP_ALLOC#include #include // 헤더 부분에 선언 그리고 프로그램 초기부분에 아래와 같은 함수를 추가해 준다. _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); crtdbg.h 가 포함이 되면 malloc 이나 free와 같은 메모지할당 해제가 여기에 정의된 함수를 이용하여 메모리 추적을 할 수가 있다. _CRTDBG_MAP_ALLOC 은 CRT 힙 함수의 버전을 해당 디버그 버전에 매핑하며, 생략하면 덤프표시가 덜 나오게 된다. 프로그램이 끝나는 부분에 _CrtDumpMemoryLeaks() 함수를 표기해야 종료시 덤.. 더보기
메모리누수 체크 라이브러리( Visual Leak Detector ) VLD 라고 메모리 누수 체크용으로 사용하기 쉬운 라이브러리이다. 이름 그대로 VisualStudio 용으로 제작이 되었으며, 최신버전은 VS2015 도 지원된다. 사용방법은 매우 간단한데 설치된 폴더 C:\Program Files (x86)\Visual Leak Detector - 사용자 환경에 따라 다를 수 있음 의 lib와 include만 프로젝트 셋팅에 추가해 주면 된다. VS가 이미 설치되어 있다면 install 할때 자동으로 경로가 추가 된다. 셋팅이 끝났다면, 해당 소스에 #include 만 추가해주면 끝. 프로그램이 끝날때 누수가 나는 곳을 체크해 준다. 참고로 이 기능을 추가했을 경우, 프로젝트에 따라 디버깅이 상당히 느려질 수도 있다. https://vld.codeplex.com/ 더보기