(libc.info.gz) Tracing malloc

Info Catalog (libc.info.gz) Allocation Debugging (libc.info.gz) Using the Memory Debugger
 
 3.2.3.1 How to install the tracing functionality
 ................................................
 
  -- Function: void mtrace (void)
      Preliminary: | MT-Unsafe env race:mtrace const:malloc_hooks init |
      AS-Unsafe init heap corrupt lock | AC-Unsafe init corrupt lock fd
      mem |  POSIX Safety Concepts.
 
      When the 'mtrace' function is called it looks for an environment
      variable named 'MALLOC_TRACE'.  This variable is supposed to
      contain a valid file name.  The user must have write access.  If
      the file already exists it is truncated.  If the environment
      variable is not set or it does not name a valid file which can be
      opened for writing nothing is done.  The behavior of 'malloc' etc.
      is not changed.  For obvious reasons this also happens if the
      application is installed with the SUID or SGID bit set.
 
      If the named file is successfully opened, 'mtrace' installs special
      handlers for the functions 'malloc', 'realloc', and 'free' (
      Hooks for Malloc).  From then on, all uses of these functions are
      traced and protocolled into the file.  There is now of course a
      speed penalty for all calls to the traced functions so tracing
      should not be enabled during normal use.
 
      This function is a GNU extension and generally not available on
      other systems.  The prototype can be found in 'mcheck.h'.
 
  -- Function: void muntrace (void)
      Preliminary: | MT-Unsafe race:mtrace const:malloc_hooks locale |
      AS-Unsafe corrupt heap | AC-Unsafe corrupt mem lock fd | 
      POSIX Safety Concepts.
 
      The 'muntrace' function can be called after 'mtrace' was used to
      enable tracing the 'malloc' calls.  If no (successful) call of
      'mtrace' was made 'muntrace' does nothing.
 
      Otherwise it deinstalls the handlers for 'malloc', 'realloc', and
      'free' and then closes the protocol file.  No calls are protocolled
      anymore and the program runs again at full speed.
 
      This function is a GNU extension and generally not available on
      other systems.  The prototype can be found in 'mcheck.h'.
 
Info Catalog (libc.info.gz) Allocation Debugging (libc.info.gz) Using the Memory Debugger
automatically generated by info2html