Tcl_InitMemory(3) Validated memory allocation interface.

Other Alias

Tcl_DumpActiveMemory, Tcl_ValidateAllMemory

SYNOPSIS

#include <tcl.h>



int
Tcl_DumpActiveMemory(fileName)


void
Tcl_InitMemory(interp)


void
Tcl_ValidateAllMemory(fileName, line)

ARGUMENTS

Tcl_Interp    *interp    (in)
Tcl interpreter in which to add commands.
CONST char    *fileName    (in)
For Tcl_DumpActiveMemory, name of the file to which memory information will be written. For Tcl_ValidateAllMemory, name of the file from which the call is being made (normally __FILE__).
int    line    (in)
Line number at which the call to Tcl_ValidateAllMemory is made (normally __LINE__).


DESCRIPTION

These functions provide access to Tcl memory debugging information. They are only functional when Tcl has been compiled with TCL_MEM_DEBUG defined at compile-time. When TCL_MEM_DEBUG is not defined, these functions are all no-ops.

Tcl_DumpActiveMemory will output a list of all currently allocated memory to the specified file. The information output for each allocated block of memory is: starting and ending addresses (excluding guard zone), size, source file where ckalloc was called to allocate the block and line number in that file. It is especially useful to call Tcl_DumpActiveMemory after the Tcl interpreter has been deleted.

Tcl_InitMemory adds the Tcl memory command to the interpreter given by interp. Tcl_InitMemory is called by Tcl_Main.

Tcl_ValidateAllMemory forces a validation of the guard zones of all currently allocated blocks of memory. Normally validation of a block occurs when its freed, unless full validation is enabled, in which case validation of all blocks occurs when ckalloc and ckfree are called. This function forces the validation to occur at any point.

KEYWORDS

memory, debug