MCU专家 发表于 2025-6-2 23:44:52

FreeRTOS任务卡死如何定位?

FreeRTOS任务卡死如何定位?问题热度:⭐️⭐️⭐️⭐️ (单日讨论量 700+)诊断流程图图表

代码










下载






栈溢出

正常






任务卡死

查看uxHighWaterMark

增大stack大小

检查任务状态

阻塞在semaphore?

检查give调用链

死循环检测



高级调试技巧:
[*]钩子函数定位:c


复制


下载





void vApplicationStackOverflowHook(TaskHandle_t xTask, char *pcTaskName) {printf("!!! %s stack overflow !!!", pcTaskName);}

[*]Keil Event Recorder:c


复制


下载





EventRecorderInitialize(0, 1);// 启用任务调度记录


页: [1]
查看完整版本: FreeRTOS任务卡死如何定位?