
Invalid Address specified to RtlFreeHeap
When debugging with VC 4.2 (on NT 4.0) I get the following.
First, a message in the debug output window like
HEAP[cv_tcl.exe]: Heap block at 17444d0 modified at 1746284 past requested
size of 1dac
Then a popup notice saying something like
User breakpoint called from code at 0x77f760e4
and it breaks at an "int 3" at the specified address.
This address is suspiciously high; I suspect this may not be
in real code, although the program kind of works.
When I continue, I get another message in the debug output window like
HEAP[cv_tcl.exe]: Invalid Address specified to RtlFreeHeap( a50000, 17444d8
)
This is in a loop so these things happen several times, repeated in this
order. The second value in the second message always seems to be
0x8 greater than the first value in the first message.
I can't find anything in the online documentation about RtlFreeHeap.
My program is compiled for debug.
(My program is a Tcl interpreter extended with commands specific to my
application. The errors happen between calls to my commands where I have
real breakpoints, apparently in the Tcl code -- although actually there are
other commands in
between that I have trouble setting breakpoints on because they are in a
DLL
that gets loaded by the Tcl load command -- but these are definitely not
the cause of the "int 3" breaks.)
I am new to NT and VC. Can anyone shed light on any of this?
Bob Sasseen
Aptex Software Inc.