Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Tcl_DumpActiveMemory (3tcl)

Name

Tcl_DumpActiveMemory - Validated memory allocation interface

Synopsis

#include <tcl.h>

int
Tcl_DumpActiveMemory(fileName)

void
Tcl_InitMemory(interp)

void
Tcl_ValidateAllMemory(fileName, line)

Description

Tcl Library Procedures                              Tcl_DumpActiveMemory(3tcl)



______________________________________________________________________________

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 com-
                                          mands.

       const char *fileName (in)          For  Tcl_DumpActiveMemory,  name  of
                                          the file to which memory information
                                          will   be  written.   For  Tcl_Vali-
                                          dateAllMemory, name of the file from
                                          which  the  call is being made (nor-
                                          mally __FILE__).

       int line (in)                      Line number at  which  the  call  to
                                          Tcl_ValidateAllMemory  is made (nor-
                                          mally __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 mem-
       ory 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.



ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | runtime/tcl-8    |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       TCL_MEM_DEBUG, memory


KEYWORDS
       memory, debug





NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source was downloaded from  http://prdownloads.sourceforge.net/tcl/tcl-
       core8.6.7-src.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.tcl.tk/.



Tcl                                   8.1
                                                    Tcl_DumpActiveMemory(3tcl)