programming - Entries from November 2008

  • November, 2008
  • debugging malloc

    Have you read the man malloc page recently? Did you notice this section there

    Recent versions of Linux libc (later than 5.4.23) and GNU libc (2.x) include a malloc implementation which is tunable via environment variables. 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.

    So, you can do export MALLOC_CHECK_=1 and malloc will print debugging messages to the stderr.

    Defined tags for this entry: ,

Page 1 of 1, totaling 1 entries