---
name: "Tcl_DumpActiveMemory"
section: "3"
platform: "linux"
package: "tcl"
version: "8.6.16-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Tcl_DumpActiveMemory"
---

# Tcl\_DumpActiveMemory(3)

Validated memory allocation interface

```

```

## NAME

Tcl\_DumpActiveMemory, Tcl\_InitMemory, Tcl\_ValidateAllMemory - Validated memory allocation interface

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

## SEE ALSO

TCL\_MEM\_DEBUG, memory

## KEYWORDS

memory, debug
