CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 4 of 4

Threaded View

  1. #1
    Join Date
    Apr 2006
    Posts
    2

    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
  •  





Click Here to Expand Forum to Full Width

Featured