49 lines
1.8 KiB
Text
49 lines
1.8 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
|
|
|
|
config HEAP_TRACING
|
|
bool "Enable heap tracing"
|
|
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_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.
|
|
|
|
endmenu
|