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.

$ 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.


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.

lib/main.php:944: Notice: PageInfo: Cannot find action page

lib/main.php:839: Notice: PageInfo: Unknown action

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

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