lua - ESP8266 NodeMCU - 内存问题的 E:M 代码的含义
问题描述
我正在调整 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 个)
搜索没有提供E:M 2568 的详细信息。它后面的数字是什么意思?我可以用它找到内存问题发生的点吗?还有哪些其他 NodeMCU 功能可以异步运行并使用内存?
除了 node.heap() 之外,我还应该跟踪另一个内存池吗?
解决方案
推荐阅读
- python - 如何在python中跳过新行进行比较?
- elixir - 函数 nil.team_name/0 未定义
- sql - Oracle中的嵌套case语句
- php - number_format() 期望参数 1 为浮点数
- c# - 将 CircleCi 环境变量用于 aws 访问/密钥
- laravel - Laravel 直接到具有用户名的索引页面
- css - 如何使一个网格列中的内容可滚动以及相对于其他网格列的高度可调
- google-sheets - 数据“破坏”QUERY/TEXTJOIN 公式中的括号
- c# - C# Protobuf 反序列化
- python - 如何查看未截断的熊猫数据框列的内容