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