Heap Consistency Checking
Another possibility to check for and guard against bugs in the use of
malloc
, realloc
and free
is to set the environment variable MALLOC_CHECK_
. When MALLOC_CHECK_
is set, a special (less efficient) implementation is used which is designed to be tolerant against simple errors, such as double calls of free
with the same argument, or overruns of a single byte (off-by-one bugs). Not all such errors can be protected against, however, and memory leaks can result. If MALLOC_CHECK_
is set to 0
, any detected heap corruption is silently ignored; if set to 1
, a diagnostic is printed on stderr
; if set to 2
, abort
is called immediately. This can be useful because otherwise a crash may happen much later, and the true cause for the problem is then very hard to track down.
No comments:
Post a Comment