|
멤버로 선언한
TImage *m_pSite[MAXSITE] 가 있는데..
프로그램 실행 중에 동적으로 이미지 객체를 선언해서 화면에 뿌리고 합니다.
그런데.. 어느 순간 m_pSite[0] 의 내용이 다른 내용으로 바뀌어 있습니다.
입력해 주는 루틴은 전혀 없구요.. 메모리 누수현상이 의심이 되는데..
MemProof로 돌려보니 디버거 윈도우에 아래와 같이 나옵니다.
Exception C0000005 ACCESS_VIOLATION at 77E77DB2 이라고 나오는데..
이 것을 어떤 식으로 트레이스를 해야 하는 지요?
소스의 어느 루틴에서 이런 현상이 생기는 지.. 도무지 알 수가 없습니다..
이 도구로 메모리 누수 현상을 잡을 수 있는 방법을 알려주세요..
감사합니다.
참고로 300바이트 짜리 Structure를 꽤 많이 사용하는데.. 멤버로 10깨쯤 사용하고
각 함수에서 로컬 변수로 10개쯤 사용합니다. Strucutre에는 대부분이 integer이고
AnsiString이 몇 개 들어 있는데.. 이 부분이 의심이 가긴 한데...
어쨌거나 MemProof로 메모리 누수를 추적해 들어갈 수 있는 방법을 알려주세요..
감사합니다.
Create process : 3
LoadDLL : 77F80000 ntdll.dll
LoadDLL : 0CD00000 cg32.dll
....
LoadDLL : 62600000 HookzIB.hxl
LoadDLL : 62700000 Hookzodbc.hxl
Create thread : Handle : 2000, ThreadID 2072
Create thread : Handle : 2008, ThreadID 2076
Create thread : Handle : 2012, ThreadID 2080
CreateFileMapping error : 지정된 경로를 찾을 수 없습니다
Exception C0000005 ACCESS_VIOLATION at 77E77DB2
---- Exception stack trace ----
77E77DB2 - IsBadReadPtr in (-1)
62042FB5 - in (-1)
069D1D14 - in
069D1E54 - in
74726F70 - in C:\Neo\Dev\Client\Client.exe
Exception 80000003 BREAKPOINT at 00612102
LoadDLL : 06D80000 borlndmm.dll
1133
LoadDLL : 4BDE0000 idapi32.dll
LoadDLL : 79B20000 MPR.dll
LoadDLL : 4C9E0000 idr20009.dll
LoadDLL : 4E8E0000 bantam.dll
....
LoadDLL : 74F80000 WSHTCPIP.dll
LoadDLL : 777F0000 RNR20.dll
Create thread : Handle : 2196, ThreadID 2084
LoadDLL : 77790000 WINRNR.dll
LoadDLL : 777A0000 rasadhlp.dll
LoadDLL : 4CDE0000 idpdx32.dll
LoadDLL : 4C5E0000 idsql32.dll
LoadDLL : 4C1E0000 idbat32.dll
Create thread : Handle : 2220, ThreadID 2092
UnloadDLL : 4CDE0000 C:\Program Files\Common Files\Borland Shared\BDE\IDPDX32.DLL
UnloadDLL : 4E8E0000 C:\Program Files\Common Files\Borland Shared\BDE\BANTAM.DLL
Thread Ended : 2072
Thread Ended : 2076
Thread Ended : 2080
Thread Ended : 2084
Exception C0000005 ACCESS_VIOLATION at 62501264
---- Exception stack trace ----
62501264 - in (-1)
6250C460 - in C:\Temp\memp0942\HookAMem.hxl
6250C460 - in C:\Temp\memp0942\HookAMem.hxl
6250C460 - in C:\Temp\memp0942\HookAMem.hxl
6250C460 - in C:\Temp\memp0942\HookAMem.hxl
6250C460 - in C:\Temp\memp0942\HookAMem.hxl
6250C460 - in C:\Temp\memp0942\HookAMem.hxl
6250C460 - in C:\Temp\memp0942\HookAMem.hxl
Exception C0000005 ACCESS_VIOLATION at 62501264
---- Exception stack trace ----
62501264 - in (-1)
6250C460 - in C:\Temp\memp0942\HookAMem.hxl
6250C460 - in C:\Temp\memp0942\HookAMem.hxl
6250C460 - in C:\Temp\memp0942\HookAMem.hxl
6250C460 - in C:\Temp\memp0942\HookAMem.hxl
....
6250C460 - in C:\Temp\memp0942\HookAMem.hxl
6250C460 - in C:\Temp\memp0942\HookAMem.hxl
6250C460 - in C:\Temp\memp0942\HookAMem.hxl
Process Ended : 5
|