Tech & IT/프로그래밍

VC++ 에서 Memory Leak 찾기 팁

해피콧 2010. 7. 20. 11:12
'); }
'); }
아래같은 Memory Leak이 발생했을 경우

Detected memory leaks!
Dumping objects ->
D:\project\XXXX.cpp(287) : {1189591} normal block at 0x02818B60, 4 bytes long.
 Data: <    > 00 00 00 00 
array_s.cpp(113) : {1189587} normal block at 0x02818A68, 4 bytes long.
 Data: <Dw} > 44 77 7D 02 
D:\project\XXXX.cpp(322) : {1189585} client block at 0x027D7790, subtype 0, 20 bytes long.
a CStringArray object at $027D7790, 20 bytes long
strcore.cpp(118) : {1189584} normal block at 0x027D7738, 19 bytes long.
 Data: <            129 > 01 00 00 00 03 00 00 00 06 00 00 00 31 32 39 00 

아래 코드를 작성해 놓고 해당 code 값을 설정해 놓으면 debug실행시 
할당하는 시점에 user break가 걸린다.
어떤 할당을 한것이 해제가 안되었는지 찾는데 도움이 된다.

#include <crtdbg.h>
_CrtSetBreakAlloc(1189591);
_CrtMemDumpAllObjectsSince(0);