Dev/C, C++

Visual Leak Detector 를 사용하여 Leak을 감지하는 방법.

newtype 2016. 2. 15. 08:42

Visual Leak Detector 를 사용하여 Leak을 감지하는 방법.

사용조건

  • Visual Studio 2008/2010/2012/2013/2015

사용방법 (VS2010 기준으로 설명합니다.)

  • Visual Sutdio 설정을 합니다.
    • VS를 실행하고, 적용할 솔루션을 엽니다.
    • VS를 실행해서 보기 > 다른 창 > Property Manager 창을 엽니다.
    • Property Manager 창에서 아무 프로젝트에서든 선택하고 적용하고자 하는 구성에서 "Microsfot.Cpp.x64.user"를 더블클릭 합니다.
    • 속성 페이지가 열리면, 왼쪽 메뉴 트리에서 VC++ Directorys > Include Directories에 VLD의 include 경로를 추가합니다.
      • 저는 "C:\Program Files (x86)\Visual Leak Detector\include" 여기에 설치되어 있네요.
    • 같은 창의 Libaray Directories에 VLD의 lib 경로를 추가합니다.
      • 저는 64 비트라서 "C:\Program Files (x86)\Visual Leak Detector\lib\Win64"를 추가 했네요.
      • 한번만 하면 솔루션 아래 여러개의 프로젝트가 있는경우 모두 반영됩니다.
  • stdafx.h 파일에 아래 코드를 추가합니다. 
    #include <vld.h>
    
    • 공식 Document에는 stdafx.h 호출후에 넣으라고 하는데, stdafx.h 파일에 넣어도 잘 돌아갑니다.
    • 공통되는 헤더 파일이 있으면 거기에 추가하면 됩니다.
  • 이제 VS에서 F7로 컴파일하고, F5로 실행합니다.
  • 프로그램이 정상 종료되면, 출력 > 디버그 창에 Leak 정보가 출력 됩니다.
    • VS의 디버그 중지로 하면 안됩니다.

참고

  • 직접 실행하는 경우.
    • 컴파일된 실행 파일을 VS에서 실행하지 않고 탐색기(또는 CMD)에서 직접 실행 하는 경우 아래 파일이 실행 파일과 같은 경로에 있어야 합니다.
      • dbghelp.dll
      • Microsoft.DTfW.DHL.manifest
      • vld_x64.dll
    • 해당 파일은 64비트의 경우 C:\Program Files (x86)\Visual Leak Detector\bin\Win64 에 있습니다.


반응형