先确认TWDT(Task Watchdog Timer)监控的是哪个任务:默认IDLE任务被监控,若你把业务任务加入TWDT,则需该任务周期性调用esp_task_wdt_reset()。定位步骤:1) 用esp_task_wdt_status()或打印pcTaskGetName(NULL)确认超时任务;2) 在超时任务主循环里加GPIO翻转或计数打印,确认其是否真在跑;3) 检查是否被高优先级任务长期抢占(双核下另一核跑死循环、关中断、临界区过长),用vTaskGetRunTimeStats()看CPU占用;4) 检查是否在阻塞API(vTaskDelay、队列等待)中未及时喂狗,或喂狗周期大于TWDT超时;5) 确认喂狗调用在正确核/正确任务上下文,避免在中断里喂;6) 用Core Dump或panic handler打印超时任务栈回溯。常见根因是任务被同核高优先级任务饿死或长时间关中断,而非任务本身死掉。