Penguin
The gnu c library (glibc 2 a.k.a linux libc6) has a couple of helpful features for finding memory allocation/usage problems, including uninitialised and unfreed memory. In your C program (and C++?)
  1. include <mcheck.h> ... main(int, char**) { mtrace(); ...

include the mcheck.h header file in all your .c files, and call mtrace as the first statement in main.

then
$ export MALLOC_TRACE=<outputfilename> $ <runprog> $ mtrace <prog> <outputfilename>

Do not use mcheck() and malloc_usable_size() at the same time, as mcheck() changes the implementation of malloc(), and malloc_usable_size() looks for the size at the wrong place.


See also LD_DEBUG, MALLOC_CHECK_, http://www.gnu.org/manual/glibc-2.0.6/html_node/libc_30.html

The following authors of this page have not agreed to the WlugWikiLicense. As such copyright to all content on this page is retained by the original authors.
  • MartinGadbois
The following authors of this page have agreed to the WlugWikiLicense.

PHP Warning

lib/plugin/WlugLicense.php:99: Warning: Invalid argument supplied for foreach()

lib/plugin/WlugLicense.php:111: Warning: in_array() [<a href='function.in-array'>function.in-array</a>]: Wrong datatype for second argument

lib/plugin/WlugLicense.php:111: Warning: in_array() [<a href='function.in-array'>function.in-array</a>]: Wrong datatype for second argument