Back to Mimalloc

mi

docs/group__analysis.html

3.3.25.7 KB
Original Source

| | mi-malloc 1.8/2.1 | |

Loading...

Searching...

No Matches

Data Structures | Typedefs | Functions

Heap Introspection

Walk areas and blocks of the heap at runtime. More...

|

Data Structures

| | struct | [mi_heap_area_t](#structmi heap area__t) | | | An area of heap space contains blocks of a single size. [More...](#structmi heap area__t)
| | |

|

Typedefs

| | typedef bool | mi_block_visit_fun(const mi_heap_t *heap, const [mi_heap_area_t](#structmi__heap area t) *area, void *block, size_t block_size, void *arg) | | | Visitor function passed to mi_heap_visit_blocks()
| | |

|

Functions

| | bool | mi_heap_visit_blocks (const mi_heap_t *heap, bool visit_blocks, mi_block_visit_fun *visitor, void *arg) | | | Visit all areas and blocks in a heap.
| | | | bool | mi_abandoned_visit_blocks (mi_subproc_id_t subproc_id, int heap_tag, bool visit_blocks, mi_block_visit_fun *visitor, void *arg) | | | v1 , v2 : Visit all areas and blocks in abandoned heaps.
| | |

Detailed Description

Walk areas and blocks of the heap at runtime.


Data Structure Documentation

[◆](#structmi heap area__t)mi_heap_area_t

| struct mi_heap_area_t |

An area of heap space contains blocks of a single size.

The bytes in freed blocks are committed - used.

Data Fields
size_t
void *
size_t
size_t
int
size_t
size_t

Typedef Documentation

mi_block_visit_fun

| typedef bool mi_block_visit_fun(const mi_heap_t *heap, const [mi_heap_area_t](#structmi__heap area t) *area, void *block, size_t block_size, void *arg) |

Visitor function passed to mi_heap_visit_blocks()

Returns_true_ if ok, false to stop visiting (i.e. break)

This function is always first called for every area with block as a NULL pointer. If visit_all_blocks was true, the function is then called for every allocated block in that area.

Function Documentation

mi_abandoned_visit_blocks()

| bool mi_abandoned_visit_blocks | ( | mi_subproc_id_t | subproc_id, | | | | int | heap_tag, | | | | bool | visit_blocks, | | | | mi_block_visit_fun * | visitor, | | | | void * | arg ) |

v1 , v2 : Visit all areas and blocks in abandoned heaps.

Parameters

| subproc_id | The sub-process id associated with the abandoned heaps. | | heap_tag | Visit only abandoned memory with the specified heap tag, use -1 to visit all abandoned memory. | | visit_blocks | If true visits all allocated blocks, otherwise visitor is only called for every heap area. | | visitor | This function is called for every area in the heap (with block as NULL). If visit_all_blocks is true, visitor is also called for every allocated block in every area (with block!=NULL). return false from this function to stop visiting early. | | arg | extra argument passed to the visitor. |

Returns_true_ if all areas and blocks were visited.

Note: requires the option mi_option_visit_abandoned() to be set at the start of the program.

mi_heap_visit_blocks()

| bool mi_heap_visit_blocks | ( | const mi_heap_t * | heap, | | | | bool | visit_blocks, | | | | mi_block_visit_fun * | visitor, | | | | void * | arg ) |

Visit all areas and blocks in a heap.

Parameters

| heap | The heap to visit. | | visit_blocks | If true visits all allocated blocks, otherwise visitor is only called for every heap area. | | visitor | This function is called for every area in the heap (with block as NULL). If visit_all_blocks is true, visitor is also called for every allocated block in every area (with block!=NULL). return false from this function to stop visiting early. | | arg | Extra argument passed to visitor. |

Returns_true_ if all areas and blocks were visited.

Note: requires the option mi_option_visit_abandoned() to be set at the start of the program to visit all abandoned blocks as well.

  • Generated by 1.11.0