OFFICE/델파이

메모리 누수 체크

gandus 2014. 10. 1. 16:43

델파이6에서 메모리 증가현상이 일어나서 잡으려고 했으나 쉽지가 않다. 

memProof 등을 추천하던데 오래되어서인지 다운로드 할 곳이 없다.

비슷한 프로그램으로 memCheck를 사용해 봤다.


1. 준비. 델파이 옵션 

   - 디버거 :  "stop on Delphi exceptions" 

   - 프로젝트 옵션-컴파일러 : no optimization, stack frames, all debugging

   - 프로젝트 옵션-링커 : Include TD32 debug inf 체크


2. 프로젝트 소스

   - memcheck Unit을 Add

   - 프로젝트의 Begin 바로 아래서   MemChk; 를 호출한다.

   - 바이너리 실행 시킨다.


끝.





실행 중 메모리 누수에 해당할 동작이 발생하면 예외 소스 위치로  스탑되고

메모장에 리포트가 생성되어 표시된다.




 memcheck275.zip





예제로 들어있던 코드로 테스트 해 볼 때는 잘 잡혔는데

실제 대상 프로그램에서는 나오질 않았다.

프로그램 종료 후 반환되기는 하기때문인지 메모리 누수로 잡히질 않았다.


설명과 아주 간단한 사용예제가 아래 주소에 링크되어 있다.

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