델파이6에서 메모리 증가현상이 일어나서 잡으려고 했으나 쉽지가 않다.
memProof 등을 추천하던데 오래되어서인지 다운로드 할 곳이 없다.
비슷한 프로그램으로 memCheck를 사용해 봤다.
1. 준비. 델파이 옵션
- 디버거 : "stop on Delphi exceptions"
- 프로젝트 옵션-컴파일러 : no optimization, stack frames, all debugging
- 프로젝트 옵션-링커 : Include TD32 debug inf 체크
2. 프로젝트 소스
- memcheck Unit을 Add
- 프로젝트의 Begin 바로 아래서 MemChk; 를 호출한다.
- 바이너리 실행 시킨다.
끝.
실행 중 메모리 누수에 해당할 동작이 발생하면 예외 소스 위치로 스탑되고
메모장에 리포트가 생성되어 표시된다.
예제로 들어있던 코드로 테스트 해 볼 때는 잘 잡혔는데
실제 대상 프로그램에서는 나오질 않았다.
프로그램 종료 후 반환되기는 하기때문인지 메모리 누수로 잡히질 않았다.
설명과 아주 간단한 사용예제가 아래 주소에 링크되어 있다.
http://v.mahon.free.fr/pro/freeware/memcheck/tutorial_findleaks.htm
메모리 누수 체크 소스. memcheck
출처 - http://senk.tistory.com/entry/%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%88%84%EC%88%98-in-Delphi