메모리 릭 검출 프로그램
Memory Validator
http://www.softwareverify.com/download-evaluation.php
___________________________________________________________________
출처 : http://struggle.tistory.com/403
Memory Validator를 설치한다. c++용으로 설치해야 한다.
http://www.memoryvalidator.com/cpp-products.php
VC++ 의 프로젝트를 생성하고 다음과 같이 설정한다.
프로젝트 -> 속성 -> 구성속성 -> C/C++ -> 코드 생성 -> 런타임 라이브러리 항목에서 다중 쓰레드 선택 ( /MD 또는 /MDt )
프로젝트 -> 속성 -> 구성속성 -> 일반 -> 공용언어 런타임 지원 항목을 /clr로 설정한다.
참고 사항
http://msdn.microsoft.com/ko-kr/library/abx4dbyh(v=vs.80).aspx
http://msdn.microsoft.com/en-us/library/72zdcz6f
Memory Validator를 실행하고 File -> Start application( 단축키 F4 )을 누른다.
Application to start에서 Browse 버튼을 클릭한다.
EXE 나 실행파일을 찾는다.
NEXT
NEXT
Nomal을 선택한다. 보편적으로 사용하는 설정이다.
Start Application으로 실행한다.
이 때, 이렇게 화면처럼 나오지 않으면, DLL연동을 안한 것이다.
런타임 라이브러리 항목에서 다중 쓰레드 선택 ( /MD 또는 /MDt )을 하지 않으면
메모리 릭을 감지할 수 없다는 경고창이 대신 뜬다.
그 다음 Launch Application을 누른다.
프로그램이 실행된다.
refresh를 누른다.
Memory Validator
___________________________________________________________________________________
위 방법과 다른 방법 -(힘들었어..)
콘솔 프로젝트 의 경우
프로젝트 -> 속성 -> 구성속성 -> C/C++ -> 코드 생성 -> 런타임 라이브러리 항목에서 다중 쓰레드 선택 ( /MD 또는 /MDd)
프로젝트 -> 속성 -> 구성속성 -> 일반 -> MFC 사용 항목 : 공유 DLL에서 MFC 사용
MFC 의 경우
프로젝트 -> 속성 -> 구성속성 -> C/C++ -> 코드 생성 -> 런타임 라이브러리 항목에서 다중 쓰레드 선택 ( /MD 또는 /MDd)
WinAPI의 경우
프로젝트 -> 속성 -> 구성속성 -> C/C++ -> 코드 생성 -> 런타임 라이브러리 항목에서 다중 쓰레드 선택 ( /MD 또는 /MDd)
로 설정 해주자 lib 를 사용할경우도 해당 lib 를 위의 경우에 맞게 설정해주면 된다.
그리고 이후 사용법은 http://www.softwareverify.com/cpp-memory.php 의 동영상을 보고 따라 하면 된다.
http://struggle.tistory.com/403 의 방법엔 설정이 Normal 이 적용 되지만 현재 이와 같은 방법으로 설정이 Normal 설정으로
적용되지 않는 현상이 발생 하였다. CreateProcess 설정으로 실행하면 된다.
컴파일중 특정 라이브러리가 이미 적용 되어있다고 뜨면
프로젝트 -> 속성 -> 구성속성 -> 링커 -> 명령줄 에 /FORCE:MULTIPLE 를 추가해주시면 됩니다.
아예 무시 해버리고 싶은 라이브러리의 경우엔
프로젝트 -> 속성 -> 구성속성 -> 링커 -> 입력 에 해당라이브러리를 입력해주시면 됩니다.
[출처] 메모리 릭 검출 프로그램 - Memory Validator |작성자 핵이
'[ Programing ] > Other' 카테고리의 다른 글
반디 캡쳐 라이브러리 (0) | 2013.05.21 |
---|---|
VS 추적점 걸기 (0) | 2013.05.21 |
Adplus.vbs 무한루프를 검출해보자!! (0) | 2013.05.21 |
MIDI File Format 분석 (0) | 2013.05.21 |
C# - Standard Numeric Format Strings (0) | 2013.05.21 |