Re: Crash: HEAP: Free Heap block modified...
The error message seems pretty self-explanatory, but these sorts of things
are often difficult to find. I would start by going to some of these
functions (the ones you can get to) and seeing if something is getting
deallocated then reused like a bitmap, icon, GDI resource, etc. I'd start
looking in the paint routine for the CDockBar. Perhaps you could post the
code for this part and we could give it a look?
Tom
<pascal.steiss@gmx.ch> wrote in message
news:1176199015.373745.102050@b75g2000hsg.googlegroups.com...
Dear Programmers
I have the following problem:
I continue the programming-work of somebody else.
Now I get the following error:
HEAP[goodTime.exe]: HEAP: Free Heap block cfd8dd0 modified at cfd8e6c
after it was freed
(UserBreak)
1) How can I prevent this user-break?
2) How would you look for the reason for this error?
The Call-Stack doesn't tell me a lot...:
NTDLL! 77f9193c()
NTDLL! 77f9c73e()
NTDLL! 77fb064e()
NTDLL! 77f9bd5a()
NTDLL! 77fcb63e()
_heap_alloc_base(unsigned int 112) line 200
_heap_alloc_dbg(unsigned int 68, int 1, const char * 0x5f4d096c
THIS_FILE, int 72) line 378 + 9 bytes
_nh_malloc_dbg(unsigned int 68, int 0, int 1, const char * 0x5f4d096c
THIS_FILE, int 72) line 248 + 21 bytes
_malloc_dbg(unsigned int 68, int 1, const char * 0x5f4d096c THIS_FILE,
int 72) line 165 + 27 bytes
operator new(unsigned int 68, int 1, const char * 0x5f4d096c
THIS_FILE, int 72) line 373 + 22 bytes
operator new(unsigned int 68, const char * 0x5f4d096c THIS_FILE, int
72) line 65 + 19 bytes
CMapPtrToPtr::InitHashTable(unsigned int 17, int 1) line 72 + 19 bytes
CMapPtrToPtr::operator[](void * 0x01010057) line 222
CHandleMap::SetPermanent(void * 0x01010057, CObject * 0x0012f804
{hDC=0x01010057 attrib=0x00000000}) line 183 + 12 bytes
CDC::Attach(HDC__ * 0x01010057) line 118
CWindowDC::CWindowDC(CWnd * 0x0cfd6d08 {CDockBar hWnd=0x0047086e})
line 1013 + 36 bytes
CControlBar::EraseNonClient() line 601 + 12 bytes
CDockBar::OnNcPaint() line 595
CWnd::OnWndMsg(unsigned int 133, unsigned int 2097417450, long 0, long
* 0x0012f954) line 1836
CWnd::WindowProc(unsigned int 133, unsigned int 2097417450, long 0)
line 1596 + 30 bytes
CControlBar::WindowProc(unsigned int 133, unsigned int 2097417450,
long 0) line 480 + 20 bytes
AfxCallWndProc(CWnd * 0x0cfd6d08 {CDockBar hWnd=0x0047086e}, HWND__ *
0x0047086e, unsigned int 133, unsigned int 2097417450, long 0) line
215 + 26 bytes
AfxWndProc(HWND__ * 0x0047086e, unsigned int 133, unsigned int
2097417450, long 0) line 379
AfxWndProcBase(HWND__ * 0x0047086e, unsigned int 133, unsigned int
2097417450, long 0) line 220 + 21 bytes
USER32! 77e4158f()
USER32! 77e3c19d()
USER32! 77e3c1ca()
NTDLL! 77f91baf()
CDockBar::OnPaint() line 605 + 12 bytes
CWnd::OnWndMsg(unsigned int 15, unsigned int 0, long 0, long *
0x0012fc8c) line 1836
CWnd::WindowProc(unsigned int 15, unsigned int 0, long 0) line 1596 +
30 bytes
CControlBar::WindowProc(unsigned int 15, unsigned int 0, long 0) line
480 + 20 bytes
AfxCallWndProc(CWnd * 0x0cfd6d08 {CDockBar hWnd=0x0047086e}, HWND__ *
0x0047086e, unsigned int 15, unsigned int 0, long 0) line 215 + 26
bytes
AfxWndProc(HWND__ * 0x0047086e, unsigned int 15, unsigned int 0, long
0) line 379
AfxWndProcBase(HWND__ * 0x0047086e, unsigned int 15, unsigned int 0,
long 0) line 220 + 21 bytes
USER32! 77e4158f()
USER32! 77e3c19d()
USER32! 77e3c1ca()
NTDLL! 77f91baf()
USER32! 77e27ed6()
CWinThread::Run() line 487 + 11 bytes
CWinApp::Run() line 400
AfxWinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char *
0x00134976, int 1) line 49 + 11 bytes
WinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char *
0x00134976, int 1) line 30
WinMainCRTStartup() line 330 + 54 bytes
KERNEL32! 7c5989a5()
Pascal