docs/group__analysis.html
Loading...
Searching...
No Matches
Data Structures | Typedefs | Functions
Heap Introspection
Walk areas and blocks of the heap at runtime. More...
|
|
| 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)
|
| |
|
|
| 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()
|
| |
|
|
| 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.
|
| |
Walk areas and blocks of the heap at runtime.
| 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 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.
| 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.
| 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.