Visual Leak Detector을 이용한 메모리 누수 탐지법
C++을 하다보면 어쩔수 없이 생기는 것이 메모리누수입니다.
물론 최근에는 스마트포인터같은게 있다고 하지만 아직도 어쩔수없이 동적할당을 스마트포인터를 통해서 할당을 하지않습니다.
그러다보니 메모리누수는 당연시 여깁니다. 이를 방지하기 위해 C++ msdn에서도 메모리누수를 확인하는법에 관해 적혀있습니다.

하지만 이와 별개로 좀더 자세히 알고싶을때가 있습니다. 그래서 여러 메모리누수탐지 라이브러리가 있는데 대표적으로 Visual Leak Detector입니다.

해당 라이브러리는 사용법은 vld라는 헤더파일만 입력만 해주면됩니다.
그리고 디버그모드로 컴파일을 하게되면 프로그램이 끝날때 어디부분이 메모리할당이 일어났고 어떤 데이터가 있는지 쉽게확인할수 있습니다.
#include <vld.h>
#include <iostream>
int main()
{
char * str= new char[100];
std::memcpy(str, "test", 10);
}
간단한 예제로 다음과 같은 소스를 실행해보았습니다.

얼마나 할당했는지 어떤 데이터가 누수가 발견했는지 프로그램이 끝날때 발견할수 있습니다.