|
-
April 6th, 2006, 03:31 AM
#1
Free Heap block modified after it was freed
Dear All,
I have the following problem:
Environment:
Visual Studio 6.0, Service Pack 6, C++, Windows XP
Software is using “Microsoft.Jet.OLEDB.4.0”
Software is having about 30 threads
After a view hours of operation in debugger, the software stops with the message box “User defined breakpoint”.
Message in output window is:
HEAP[App.exe]: HEAP: Free Heap block 5cbf760 modified at 5cd2f4c after it was freed
Output in callstack window:
NTDLL! 7c911230()
NTDLL! 7c959b79()
NTDLL! 7c9369a9()
NTDLL! 7c97e062()
NTDLL! 7c95a5d0()
NTDLL! 7c9368ad()
MSJET40! 1b005262()
MSJET40! 1b04af35()
MSJET40! 1b01a6f2()
05356890()
Memory and 5cbf760:
05CBF760 14 2D 15 24 AC 14 18 01 78 01 34 05 48 AE C9 05 EE FE EE FE EE FE EE FE EE FE EE FE EE FE EE FE EE and so on …
Memory at 5cd2f4c:
05CD2F4C EE FC EE FE EE FE EE FE EE FE EE FE EE
Here is this FC. This is causing the problem.
I have no idea, how this FC was written to this address. But before allocating memory the debugger checks the memory for the sequence of FE EE. FC is not expected and so the debugger stops the software.
Has anybody an explanation what FC in terms of memory means?
I also can not explain the callstack. This thread is not the main thread and no thread I did start (they all have names). The software is doing inter process communication to a service by COM. Maybe it is a callback from this service?
Thanks for some good advice.
Dirk.
Last edited by DirkBugner; April 6th, 2006 at 05:21 AM.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|