heap/test: added alloc failed hook tests docs: added alloc failed hook documentation heap: add function to register allocation failed hook docs: allocation failed hook docs improvements
72 lines
2.4 KiB
Text
72 lines
2.4 KiB
Text
menu "Heap memory debugging"
|
|
|
|
choice HEAP_CORRUPTION_DETECTION
|
|
prompt "Heap corruption detection"
|
|
default HEAP_POISONING_DISABLED
|
|
help
|
|
Enable heap poisoning features to detect heap corruption caused by out-of-bounds access to heap memory.
|
|
|
|
See the "Heap Memory Debugging" page of the IDF documentation
|
|
for a description of each level of heap corruption detection.
|
|
|
|
config HEAP_POISONING_DISABLED
|
|
bool "Basic (no poisoning)"
|
|
config HEAP_POISONING_LIGHT
|
|
bool "Light impact"
|
|
config HEAP_POISONING_COMPREHENSIVE
|
|
bool "Comprehensive"
|
|
endchoice
|
|
|
|
choice HEAP_TRACING_DEST
|
|
bool "Heap tracing"
|
|
default HEAP_TRACING_OFF
|
|
help
|
|
Enables the heap tracing API defined in esp_heap_trace.h.
|
|
|
|
This function causes a moderate increase in IRAM code side and a minor increase in heap function
|
|
(malloc/free/realloc) CPU overhead, even when the tracing feature is not used.
|
|
So it's best to keep it disabled unless tracing is being used.
|
|
|
|
config HEAP_TRACING_OFF
|
|
bool "Disabled"
|
|
config HEAP_TRACING_STANDALONE
|
|
bool "Standalone"
|
|
select HEAP_TRACING
|
|
config HEAP_TRACING_TOHOST
|
|
bool "Host-based"
|
|
select HEAP_TRACING
|
|
endchoice
|
|
|
|
config HEAP_TRACING
|
|
bool
|
|
default F
|
|
help
|
|
Enables/disables heap tracing API.
|
|
|
|
config HEAP_TRACING_STACK_DEPTH
|
|
int "Heap tracing stack depth"
|
|
range 0 10
|
|
default 2
|
|
depends on HEAP_TRACING
|
|
help
|
|
Number of stack frames to save when tracing heap operation callers.
|
|
|
|
More stack frames uses more memory in the heap trace buffer (and slows down allocation), but
|
|
can provide useful information.
|
|
|
|
config HEAP_TASK_TRACKING
|
|
bool "Enable heap task tracking"
|
|
depends on !HEAP_POISONING_DISABLED
|
|
help
|
|
Enables tracking the task responsible for each heap allocation.
|
|
|
|
This function depends on heap poisoning being enabled and adds four more bytes of overhead for each block
|
|
allocated.
|
|
|
|
config HEAP_ABORT_WHEN_ALLOCATION_FAILS
|
|
bool "Abort if memory allocation fails"
|
|
default n
|
|
help
|
|
When enabled, if a memory allocation operation fails it will cause a system abort.
|
|
|
|
endmenu
|