FreeRTOS内存泄漏定位技巧
诊断工具链:
工具检测能力使用场景
Heap_Stats实时堆内存统计开发阶段
Tracealyzer任务内存分配记录现场问题复现
MTB(Micro Trace Buffer)硬件级内存访问追踪死机问题定位
高级调试代码:c
复制
下载
// 重载内存分配函数(带追踪)void *pvPortMalloc(size_t xSize) { void *ptr = _pvPortMalloc(xSize); TRACE_ALLOC(ptr, xSize, GET_CALLER_ADDR()); return ptr;}void vPortFree(void *pv) { TRACE_FREE(pv); _vPortFree(pv);}
典型案例:定位到某任务未释放CAN报文缓存,节省32%内存
very good
页:
[1]