Heapdmp

This function generates a dump file of memory usage, for debugging purposes.

The dump file is created in the TRA subdirectory of the current folder. The function returns the path of the generated file.

This dump gives a detailed map of the instances allocated in each allocation group. It helps debug memory leaks.

Syntax

PATH=heapDmp

Example of log file generated by this instruction

In this example, an instance of C_ATABLE (table description) was created in the [MYT] allocation group and an AREAD method was called on the key "ATABLE". The complete description of the table called ATABLE has been loaded and consists of the following:

  • 1 instance of C_ATABLE using 3420 bytes (the header)
  • 35 instances of C_ATABZON using 37472 bytes (the description of the columns)
  • 2 instances of C_ATABIND using 1266 bytes (the description of the indexes)
  • 7 instances of C_AMSKPAR using 2464 bytes (the parameters associated with some data types)
  • 667 instances of C_ATXTSUP using 206770 bytes (the translatable texts)
  • 304 instances of `C_ATTRIBUTE using 196688 bytes (the attributes of properties for all class properties) ``` ----------------------- OBJECTS MEMORY MAP ---------------------- Created by : DOM

HEAP MAXMEM: 10485760 bytes, HEAP MEMORY USED : 741029 bytes

COMMON MAXMEM: 36700160 bytes, COMMON MEMORY USED : 3560945 bytes

INSTANCES UNITS: 4096 Units, 294984 bytes,

Allocation group : ASYRACTX, Memory used : 292949 bytes : 39 %

Class @SUPERV.STC/C_ATTRIBUTE$adx : 17 instances, 10999 bytes
Class @SUPERV.STC/C_ACONTEXTACACHE$adx : 1 instances, 208 bytes
Class @SUPERV.STC/C_WMACONTEXTASUP$adx : 1 instances, 464 bytes
Class @SUPERV.STC/C_WMACONTEXTASOL$adx : 1 instances, 2366 bytes
Class @SUPERV.STC/C_WMACONTEXTAFOLD$adx : 1 instances, 434 bytes
Class @SUPERV.STC/C_AINFO$adx : 9 instances, 278082 bytes
Class @SUPERV.STC/C_WMACONTEXT$adx : 1 instances, 396 bytes

Allocation group : MYT, Memory used : 448080 bytes : 60 %

Class @SUPERV.STC/C_ATTRIBUTE$adx : 304 instances, 196688 bytes
Class @SUPERV.STC/C_ATABIND$adx : 2 instances, 1266 bytes
Class @SUPERV.STC/C_AMSKPAR$adx : 7 instances, 2464 bytes
Class @SUPERV.STC/C_ATABZON$adx : 35 instances, 37472 bytes
Class @SUPERV.STC/C_ATXTSUP$adx : 667 instances, 206770 bytes
Class @SUPERV.STC/C_ATABLE$adx : 1 instances, 3420 bytes
```