我正在努力在NodeMCU中调整时钟程序 .

该程序每秒向串行控制台报告堆使用情况 . 堆在12360和12472之间变化,因为它成功运行了15到40分钟 . 然后它崩溃了:

E:M 2568
PANIC: unprotected error in call to Lua API (not enough memory)

在失败时,它正在从tmr.alarm函数执行,就像它在整个运行时一样:

tmr.alarm(1, 1000, 1, function() dofile("doloops.lua") end )

doloops.lua递增时间变量并更新显示 . 它不执行任何网络活动 . 在每个循环结束时调用collectgarbage()(每秒1次)

Searching doesn't provide specifics在E:M 2568.它后面的数字是什么意思?我可以用它来找到发生内存问题的地方吗?还有哪些NodeMCU函数可以异步运行并使用内存?

除了node.heap()之外,我还应该跟踪另一个内存池吗?