0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

远程日志errDump调试功能实战教程:案例驱动的故障排查!

青山老竹农 ? 来源:jf_82863998 ? 作者:jf_82863998 ? 2025-06-09 16:51 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

通过真实案例场景,本教程将展示如何利用远程日志errDump调试功能定位系统崩溃、性能瓶颈等问题,从日志捕获到原因分析,手把手带您体验实战中的调试流程。
本文特别分享errDump功能及Air8101开发板实操验证。

一、errDump功能介绍

1.1 errDump有什么用?

errDump是LuatOS系统中的错误日志上报模块,主要用于远程调试与故障诊断。

其原理是将模块运行过程中产生的错误信息或者应用日志,通过TCP/UDP上报到互联网上的指定服务器,技术人员可以在服务器上查阅日志,协助远程了解设备运行情况或者故障诊断。

核心价值体现在:

1)实时监控设备状态将设备运行时的错误信息(如系统崩溃、协程异常、网络故障等)通过TCP/UDP/HTTP协议上报到指定服务器。

2)支持量产设备维护对于已投放市场的设备,无需现场调试即可远程定位问题,显著降低维护成本。

3)灵活配置用户可自定义上报周期、服务器地址及日志类型,适应不同场景需求。

1.2 错误信息及日志类型

目前errDump支持2类错误日志的储存与上报:

1)系统任务报错

脚本报错属于系统异常日志,程序报错时会自动写入。

如果使用自动上报到iot平台,则在下次重启会自动读取并上报;如果是自行读取上报,可通过errDump.dump(buff,errDump.TYPE_SYS, ture) 来读取系统异常日志,并根据自己需求自定义传输。

2)用户自行写入

用户自行写入异常日志,是通过 errDump.record() 接口来保存的异常日志。

如果设置了定时上报周期的话,则会定期上报到服务器中;如果自行读取上报的话,可以通过 errDump.dump(nil, errDump.TYPE_SYS, true) 来读取用户异常日志,并根据自己需求自定义传输。

1.3 存储区域与空间管理

日志文件都是储存在文件系统中。系统异常日志文件和用户异常日志文件最大都是4KB。

当存储空间不足时,新日志会覆盖最旧的数据。用户可通过errDump.dump() 手动读取并清理日志,避免自动覆盖。

1.4 日志上报与读取方式

1)自动上报

通过errDump.config(enable, period, user_flag, custom_id, host, port) 配置服务器地址和周期(默认600 秒)。上报成功后,本地日志自动清空。

wKgZO2g_7d6Ab9FOAAB5_O0jZDA443.png

2)手动读取

使用errDump.dump(zbuff, type, isDelete) 读取日志,支持指定类型(如系统日志、用户日志)并选择是否删除。

wKgZO2g_7gCAIPg2AADaF6oQ6yI256.png

3)自定义传输

禁用自动上报后,用户可通过errDump.dump() 获取日志内容,再通过MQTT、HTTP API等方式发送到自有服务器。

1.5 日志清除机制

1)自动清除:设置自动模式的话,上报到服务器成功后,本地日志自动删除。

2)手动清除:设置手动读取模组,调用errDump.dump(nil, type, true) 指定日志类型并删除。

3)覆盖策略:系统/用户日志达到4KB时,新写入内容覆盖旧数据。

二、 Air8101开发板errDump示例

wKgZPGg_7l2AOYpSAAny-AmrICM237.png


下文以Air8101开发板为例,演示errdump日志上报功能实操要点。

最新源码及实操教程详见:https://docs.openluat.com/air8101/luatos/app/base/errdump/

主要示例代码如下:

1)main.lua

wKgZO2g_7oyAfLyZAAUi1WD5oIU113.pngwKgZPGg_7qGAB4phAAWWmWIHm_0692.png

2)errdump_test.lua

本功能模块为:使用自动上报异常日志到iot平台。

wKgZPGg_7t6ADluvAAQ_9NcMW-A128.pngwKgZO2g_7v-APVnsAAGnGgTDwBM654.png

3)errdump_uart.lua

本功能模块为:使用手动读取异常日志并通过串口传出。

wKgZPGg_7y6AcSlxAAUKlv-tq8c261.pngwKgZPGg_70SAYAJyAAPLIWn2LRY216.png

4)errdump_tcp.lua

本功能模块为:手动读取异常日志上传到自己平台。

wKgZPGg_73CAE16FAAVWQTJ6Ap4181.pngwKgZPGg_75SAOucyAASzZKf8Mmk668.pngwKgZPGg_772AHXpfAAN8lEGecmo269.pngwKgZPGg_7_WAU0tTAAXa-AUvZ4A304.pngwKgZPGg_8AeAQnUzAAMPhhEE_1Q673.png

三、errDump实操验证

3.1 自动上传IoT平台

云平台:iot.openluat.com

1)登录IoT平台

手机号为账号,默认密码888888,创建一个IoT账号。

用这个账号即可登录IoT平台,将Air8101的sta mac归属到此账号名下。

wKgZPGg_8LeAJykFAADqu-zxlHQ803.png

2)新建一个项目

wKgZO2g_8NmAcTKtAADmf2bGiLE216.png

3)将你自己建的项目key复制到demo中

wKgZO2g_8PyACxMjAAIvUSbJWdg259.png

4)打开设备DEBUG开关

特别注意:使用IoT云服务器时,迫于服务器压力,只有手动打开debug开关,才会有日志上报。

wKgZPGg_8SuAZAVAAAFnh0zlbYI321.png

5)LuaTools日志打印

wKgZO2g_8VuAGUJJAAJ5dw-C3m4870.png

6)云平台查看错误上报

wKgZO2g_8aOAEEHzAAFeDJMWeqo305.png

3.2 手动读取通过串口上传功能验证

手动读取系统异常日志和用户自定义消息,并通过串口输出。

1)LuaTools日志打印

wKgZPGg_8cSAFwyMAAIdK0CVG7Q029.png

2)串口打印异常日志

wKgZO2g_8fCADvYwAAMADthrH74311.png

3.3 手动读取通过TCP上传功能验证

手动读取系统异常日志和用户自定义消息,并通过TCP协议上报到服务器中。

本文使用TCP服务器来演示:https://netlab.luatos.com/

1)启动TCP服务器

启动TCP服务器并修改demo中的IP和端口号:

wKgZO2g_8iKAaOM-AAGwduAJmbE113.png

2)LuaTools日志打印

wKgZPGg_8lSAdqGSAALAgd4uJmI056.png

3)服务器日志打印

wKgZPGg_8nWANh-rAAECGbmU-Lg548.png

今天的内容就分享到这里了~

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    13

    文章

    9826

    浏览量

    88223
  • 调试
    +关注

    关注

    7

    文章

    614

    浏览量

    34804
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Xilinx FPGA远程调试方法(二)

    上篇主要是分享了Vivado编译软件远程调试的方法。杰克使用Vivado软件进行远程连接,主要是用于固化程序以及FPGA(PL端)的异常排查。而本篇主要内容是对使用Vitis软件
    发表于 05-25 14:36 ?3539次阅读
    Xilinx FPGA<b class='flag-5'>远程</b><b class='flag-5'>调试</b>方法(二)

    分布式日志追踪ID实战

    作者:京东物流 张小龙 本文通过介绍分布式应用下各个场景的全局日志ID透传思路,以及介绍分布式日志追踪ID简单实现原理和实战效果,从而达到通过提高日志查询
    的头像 发表于 01-20 10:16 ?672次阅读

    手把手教你配置远程errDump调试日志追踪不求人!

    功能及Air8101开发板实操验证。 一、errDump功能介绍 1.1 errDump有什么用? errDump是LuatOS系统中的错误
    的头像 发表于 06-05 18:32 ?648次阅读
    手把手教你配置<b class='flag-5'>远程</b><b class='flag-5'>errDump</b><b class='flag-5'>调试</b>:<b class='flag-5'>日志</b>追踪不求人!

    Linux SSH远程管理故障如何排查

    SSH远程管理故障排查方案:1、检测两个机器是否畅通  两个机器之间是否畅通,查看物理链路是否有问题(网线网卡、IP是否正确)  第1步:物理链路是否畅通,比喻为“高速公路是否畅通”  ping
    发表于 07-25 16:45

    Linux SSH远程管理故障如何排查

    SSH远程管理故障排查方案:1、检测两个机器是否畅通  两个机器之间是否畅通,查看物理链路是否有问题(网线网卡、IP是否正确)  第1步:物理链路是否畅通,比喻为“高速公路是否畅通”  ping
    发表于 11-30 17:40

    Spectrum View在电源调试和PLL故障排查诊断中的应用

      本文着重介绍了泰克示波器全新频谱分析功能Spectrum View在电源调试和PLL故障排查诊断中的应用。实测表明,Spectrum View的多通道时频域联动分析,非常便于干扰信
    发表于 11-24 06:25

    SpectrumView在电源调试和PLL故障排查诊断中的应用是什么

    本文着重介绍了泰克示波器全新频谱分析功能SpectrumView在电源调试和PLL故障排查诊断中的应用。
    发表于 06-17 10:45

    解析Linux系统日志

    日志记录了系统每天发生的各种各样的事情,比如监测系统状况、排查系统故障等。你可以通过日志来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志
    的头像 发表于 01-05 09:41 ?2087次阅读

    列车远程网络故障排查——ITT-Profitap IOTA

    在移动互联时代,铁路运输的数字化转型已成不可逆转的趋势。然而,随之而来的是对网络连接质量和故障排查的更高要求。本文将探讨如何利用艾体宝ProfitapIOTA技术,在火车上实现远程网络捕获和
    的头像 发表于 04-16 08:04 ?673次阅读
    列车<b class='flag-5'>远程网络故障</b><b class='flag-5'>排查</b>——ITT-Profitap IOTA

    PLC远程调试模块是什么?PLC远程调试模块的功能

    PLC(可编程逻辑控制器)远程调试模块是一种设备或软件功能,它允许工程师或技术人员在远离实际现场的情况下,通过网络对PLC进行编程、监控、故障诊断和参数调整。这对于分布广泛或难以直接接
    的头像 发表于 05-22 14:53 ?1317次阅读
    PLC<b class='flag-5'>远程</b><b class='flag-5'>调试</b>模块是什么?PLC<b class='flag-5'>远程</b><b class='flag-5'>调试</b>模块的<b class='flag-5'>功能</b>

    errDump错误日志上报:开启高效排查之门

    相信很多朋友都会忽视errDump错误日志上报,但不得不说的是技术高手都知道它真的是比较重要的一环。
    的头像 发表于 11-02 11:52 ?788次阅读
    <b class='flag-5'>errDump</b>错误<b class='flag-5'>日志</b>上报:开启高效<b class='flag-5'>排查</b>之门

    780E开发板之errDump错误日志上报,操作方法解析

    ?# 一、errDump功能 LuatOS-Air错误日志上报功能模块名叫:errDumperrDum
    的头像 发表于 11-04 15:30 ?601次阅读
    780E开发板之<b class='flag-5'>errDump</b>错误<b class='flag-5'>日志</b>上报,操作方法解析

    射频放大器调试故障排查

    一、射频放大器的基本工作原理 在深入调试故障排查之前,了解射频放大器的基本工作原理是必要的。射频放大器通常由输入匹配网络、放大器核心和输出匹配网络组成。输入匹配网络确保信号能够有效地从源传递到
    的头像 发表于 12-16 09:06 ?1297次阅读

    Wine开发系列——如何使用Wine日志调试问题

    助于快速理解代码的执行流程和功能。在大型项目中,通常会先实现一套自己的调试日志框架,主要有两个目的: 统一日志风格和存储:确保日志格式一致,
    的头像 发表于 01-06 11:29 ?1059次阅读

    CAN总线故障排查:从问题到解决的实战案例

    视频推荐在工业现场的煤安监控网络中,CAN总线通信常因复杂环境出现数据丢失问题。本文以一起煤安监控网络中CAN总线数据丢失的故障排查案例,简述了排查过程和解决方法,为工业现场CAN通信故障
    的头像 发表于 02-28 11:37 ?948次阅读
    CAN总线<b class='flag-5'>故障</b><b class='flag-5'>排查</b>:从问题到解决的<b class='flag-5'>实战</b>案例