一本精品热在线视频,久久免费视频分类,精品婷婷乱码久久久久久蜜桃,在线可以免费观看的Av

<mark id="vd61v"><dl id="vd61v"></dl></mark>
    <sub id="vd61v"><ol id="vd61v"></ol></sub>

  • <sub id="vd61v"><ol id="vd61v"></ol></sub>
    "); //-->

    博客專欄

    EEPW首頁 > 博客 > 遠(yuǎn)程errDump調(diào)試避坑指南:從陷阱到解決方案的實戰(zhàn)解碼

    遠(yuǎn)程errDump調(diào)試避坑指南:從陷阱到解決方案的實戰(zhàn)解碼

    發(fā)布人:13673998452 時間:2025-06-09 來源:工程師 發(fā)布文章

    為何遠(yuǎn)程errDump調(diào)試總耗時過長?本文聚焦調(diào)試過程中的典型陷阱,逐一拆解成因并提供實戰(zhàn)解決方案,助您構(gòu)建清晰的調(diào)試路徑,縮短問題定位時間。

    本文特別分享errDump功能及Air8101開發(fā)板實操驗證。

     

    一、errDump功能介紹


    1.1 errDump有什么用?

    errDump是LuatOS系統(tǒng)中的錯誤日志上報模塊,主要用于遠(yuǎn)程調(diào)試與故障診斷。

    其原理是將模塊運(yùn)行過程中產(chǎn)生的錯誤信息或者應(yīng)用日志,通過TCP/UDP上報到互聯(lián)網(wǎng)上的指定服務(wù)器,技術(shù)人員可以在服務(wù)器上查閱日志,協(xié)助遠(yuǎn)程了解設(shè)備運(yùn)行情況或者故障診斷。


    核心價值體現(xiàn)在:

    1)實時監(jiān)控設(shè)備狀態(tài)將設(shè)備運(yùn)行時的錯誤信息(如系統(tǒng)崩潰、協(xié)程異常、網(wǎng)絡(luò)故障等)通過TCP/UDP/HTTP協(xié)議上報到指定服務(wù)器。

    2)支持量產(chǎn)設(shè)備維護(hù)對于已投放市場的設(shè)備,無需現(xiàn)場調(diào)試即可遠(yuǎn)程定位問題,顯著降低維護(hù)成本。

    3)靈活配置用戶可自定義上報周期、服務(wù)器地址及日志類型,適應(yīng)不同場景需求。


    1.2 錯誤信息及日志類型

    目前errDump支持2類錯誤日志的儲存與上報:

    1)系統(tǒng)任務(wù)報錯

    腳本報錯屬于系統(tǒng)異常日志,程序報錯時會自動寫入。

    如果使用自動上報到iot平臺,則在下次重啟會自動讀取并上報;如果是自行讀取上報,可通過errDump.dump(buff,errDump.TYPE_SYS, ture) 來讀取系統(tǒng)異常日志,并根據(jù)自己需求自定義傳輸。

    2)用戶自行寫入

    用戶自行寫入異常日志,是通過 errDump.record() 接口來保存的異常日志。

    如果設(shè)置了定時上報周期的話,則會定期上報到服務(wù)器中;如果自行讀取上報的話,可以通過 errDump.dump(nil, errDump.TYPE_SYS, true) 來讀取用戶異常日志,并根據(jù)自己需求自定義傳輸。


    1.3 存儲區(qū)域與空間管理

    日志文件都是儲存在文件系統(tǒng)中。系統(tǒng)異常日志文件和用戶異常日志文件最大都是4KB。

    當(dāng)存儲空間不足時,新日志會覆蓋最舊的數(shù)據(jù)。用戶可通過errDump.dump() 手動讀取并清理日志,避免自動覆蓋。


    1.4 日志上報與讀取方式

    1)自動上報

    通過errDump.config(enable, period, user_flag, custom_id, host, port) 配置服務(wù)器地址和周期(默認(rèn)600 秒)。上報成功后,本地日志自動清空。

    2)手動讀取

    使用errDump.dump(zbuff, type, isDelete) 讀取日志,支持指定類型(如系統(tǒng)日志、用戶日志)并選擇是否刪除。

    3)自定義傳輸
     

    禁用自動上報后,用戶可通過errDump.dump() 獲取日志內(nèi)容,再通過MQTT、HTTP API等方式發(fā)送到自有服務(wù)器。


    1.5 日志清除機(jī)制

    1)自動清除:設(shè)置自動模式的話,上報到服務(wù)器成功后,本地日志自動刪除。

    2)手動清除:設(shè)置手動讀取模組,調(diào)用errDump.dump(nil, type, true) 指定日志類型并刪除。

    3)覆蓋策略:系統(tǒng)/用戶日志達(dá)到4KB時,新寫入內(nèi)容覆蓋舊數(shù)據(jù)。

     


    二、 Air8101開發(fā)板errDump示例



    下文以Air8101開發(fā)板為例,演示errdump日志上報功能實操要點。

    最新源碼及實操教程詳見:https://docs.openluat.com/air8101/luatos/app/base/errdump/

    主要示例代碼如下:

     

    1)main.lua

     

    2)errdump_test.lua

    本功能模塊為:使用自動上報異常日志到iot平臺。


    3)errdump_uart.lua

    本功能模塊為:使用手動讀取異常日志并通過串口傳出。


    4)errdump_tcp.lua

    本功能模塊為:手動讀取異常日志上傳到自己平臺。

     


    三、errDump實操驗證 


    3.1 自動上傳IoT平臺

    云平臺:iot.openluat.com


    1)登錄IoT平臺

    手機(jī)號為賬號,默認(rèn)密碼888888,創(chuàng)建一個IoT賬號。

    用這個賬號即可登錄IoT平臺,將Air8101的sta mac歸屬到此賬號名下。


    2)新建一個項目


    3)將你自己建的項目key復(fù)制到demo中


    4)打開設(shè)備DEBUG開關(guān)

    特別注意:使用IoT云服務(wù)器時,迫于服務(wù)器壓力,只有手動打開debug開關(guān),才會有日志上報。


    5)LuaTools日志打印


    6)云平臺查看錯誤上報



    3.2 手動讀取通過串口上傳功能驗證

    手動讀取系統(tǒng)異常日志和用戶自定義消息,并通過串口輸出。


    1)LuaTools日志打印


    2)串口打印異常日志



    3.3 手動讀取通過TCP上傳功能驗證

    手動讀取系統(tǒng)異常日志和用戶自定義消息,并通過TCP協(xié)議上報到服務(wù)器中。

    本文使用TCP服務(wù)器來演示: https://netlab.luatos.com/


    1)啟動TCP服務(wù)器

    啟動TCP服務(wù)器并修改demo中的IP和端口號:


    2)LuaTools日志打印


    3)服務(wù)器日志打印


    今天的內(nèi)容就分享到這里了~


    *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉