2009.10.16 08:52
VSI 상에서 기본적인 메모리 릭 찾기 방법은 아래와 같은 것이 있습니다.

_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );

이 코드를 프로그램 시작 위치에 기록 한 후 메모리 릭이 발생하면 출력창에 아래 예와 비슷한 결과를 보실 수 있습니다. 

================================
{26734} normal block at 0x0433A1E0, 32 bytes long.
 Data: <                > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
{26733} normal block at 0x04338220, 28 bytes long.
 Data: <8Y              > 38 59 99 04 FF FF FF FF 00 00 00 00 00 00 00 00 
{26732} normal block at 0x0433A160, 64 bytes long.
 Data: <                > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
{26731} normal block at 0x0433A070, 176 bytes long.
 Data: <` 3     $ S   3 > 60 A1 33 04 00 00 00 00 24 8B 53 01 E0 A1 33 04 
e:\work\code\common\wtl_util\cwwdragdrop.h(706) : {26542} normal block at 0x04335EA8, 76 bytes long.
================================

그럼 위 텍스트 중  {26542} 라는 숫자를 

_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );아래 위치 정도에 _CrtSetBreakAlloc(26542); 라고 적도 다시 빌드하여 실행하시면 해당 위치에서 브레이크가 거립니다. 


그리고 유명한 릭 찾기 라이브러리 vld(http://www.codeproject.com/KB/applications/visualleakdetector.aspx)가 있습니다.






저작자 표시 비영리 동일 조건 변경 허락
신고

'개발/경험' 카테고리의 다른 글

iceScrum - Features  (0) 2011.08.29
Tortoise SVN으로 게임 데이타 패치 만들기  (2) 2011.08.12
자료형은 byte로  (0) 2011.02.27
Doxygen 한글 문제  (0) 2010.12.20
Memory Leak 찾아내기  (0) 2009.10.16
자바 애플릿으로 툴을!!  (0) 2009.09.27


티스토리 툴바