调试ESP32时,出现重启,报PANIC恐慌/异常,使用idf.py menuconfig把component的log_output的等级调到WARMING,则没有重启以下来源于百度:
ESP32在日志等级设置过高时可能会出现重启现象。这是因为当日志输出的信息量非常大时,系统将消耗大量资源来处理这些日志信息,可能导致系统资源不足,进而引发不稳定甚至重启。 解决方法:
1、降低日志等级:可以通过修改ESP-IDF或者使用的日志库的配置,将日志等级降低。例如,在ESP-IDF中,可以通过设置CONFIG_LOG_DEFAULT_LEVEL为更高的等级,例如4(对应WARN级别),来减少日志输出。
2、使用条件日志:只在调试时输出详细日志,在发布版本中关闭或者降低日志等级。
3、限制日志输出速率:如果日志是通过串口输出的,可以通过限制波特率来减少输出对系统的影响。
4、使用日志缓冲机制:在系统空闲时输出日志,而不是实时输出。
5、检查代码中的日志调用是否合理,避免在关键路径上产生大量日志信息。 如果问题依然存在,可以考虑使用外部存储设备来保存日志信息,避免影响设备正常运行。