Copyright (C) 2000-2012 |
GNU Info (libc.info)Tracing mallocHow to install the tracing functionality ........................................ - Function: void mtrace (void) 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' (Note: 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) 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'. automatically generated by info2www version 1.2.2.9 |