mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-31 13:09:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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 0 if IDF_TARGET_ARCH_RISCV # Disabled for RISC-V due to `__builtin_return_address` limitation
 | |
|         default 0 if IDF_TARGET_ARCH_RISCV
 | |
|         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
 | 
