You can ask
malloc to check the consistency of dynamic storage by
mcheck function. This function is a GNU extension,
declared in `malloc.h'.
mallocto perform occasional consistency checks. These will catch things such as writing past the end of a block that was allocated with
The abortfn argument is the function to call when an inconsistency
is found. If you supply a null pointer, then
mcheck uses a
default function which prints a message and calls
(see section Aborting a Program). The function you supply is called with
one argument, which says what sort of inconsistency was detected; its
type is described below.
It is too late to begin allocation checking once you have allocated
mcheck does nothing in that
case. The function returns
-1 if you call it too late, and
0 otherwise (when it is successful).
The easiest way to arrange to call
mcheck early enough is to use
the option `-lmcheck' when you link your program; then you don't
need to modify your program source at all.
mprobefunction lets you explicitly check for inconsistencies in a particular allocated block. You must have already called
mcheckat the beginning of the program, to do its occasional checks; calling
mproberequests an additional consistency check to be done at the time of the call.
The argument pointer must be a pointer returned by
mprobe returns a value that says what
inconsistency, if any, was found. The values are described below.
mcheckwas not called before the first allocation. No consistency checking can be done.
Go to the first, previous, next, last section, table of contents.