## Tcl8.6.0/Tk8.6.0 Documentation > Tcl C API, version 8.6.0 > DumpActiveMemory

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

  NAME
    Tcl_DumpActiveMemory, Tcl_InitMemory, Tcl_ValidateAllMemory — Validated memory allocation interface
  SYNOPSIS
    #include <tcl8.6/tcl.h>
    int
    Tcl_DumpActiveMemory(fileName)
    void
    Tcl_InitMemory(interp)
    void
    Tcl_ValidateAllMemory(fileName, line)
  ARGUMENTS
  DESCRIPTION
  SEE ALSO
  KEYWORDS

### NAME

Tcl_DumpActiveMemory, Tcl_InitMemory, Tcl_ValidateAllMemory — Validated memory allocation interface

### SYNOPSIS

#include <tcl8.6/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.

### SEE ALSO

TCL_MEM_DEBUG, memory

### KEYWORDS

memory, debug
Copyright © 1992-1999 Karl Lehenbauer and Mark Diekhans. Copyright © 2000 by Scriptics Corporation.