Tcl\_DumpActiveMemory(3) Tcl Library Procedures Tcl\_DumpActiveMemory(3)

```

```

# [NAME](#NAME)

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

# [SYNOPSIS](#SYNOPSIS)

```
#include <tcl.h>

int
Tcl_DumpActiveMemory(fileName)

Tcl_InitMemory(interp)

Tcl_ValidateAllMemory(fileName, line)
```

# [ARGUMENTS](#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](#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 **Tcl\_Alloc** 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 **Tcl\_Alloc** and **Tcl\_Free** are called. This function forces the validation to occur at any point.

# [SEE ALSO](#SEE_ALSO)

TCL\_MEM\_DEBUG, memory

# [KEYWORDS](#KEYWORDS)

memory, debug

8.1 Tcl

---

Document: Tcl_InitMemory(3) from tcl 9.1.0-r2 (Chainguard OS)
Source: https://downloads.sourceforge.net/project/tcl/Tcl/9.1.0/tcl9.1.0-src.tar.gz
