【LUA】调试小技巧

Lua调试记录

项目需要调试lua,有两个小方法记录一下:

通过下载明文的lua脚本,在开发板上直接修改和调试

lua脚本在拷贝到文件系统后,通过luac进行加密,软件运行时,在文件系统中是看不到明文的lua脚本内容。可以通过删除tmp目录下的luci-modulecache/ luci-sessions/目录,重新下载明文的lua脚本代替加密的lua脚本,这时候就可以直接在板子上调试了,有时候需要执行一下命令: /www/cgi-bin/luci 重新生成cache目录;如果不清除tmp目录下的luci-mudulecache和luci-sessions目录,调用lua时出现错误:

/usr/lib/lua/luci/ccache.lua:81: error loading module 'luci.model.tfstats' from file '/usr/lib/lua/luci/model/tfstats.lua':
/usr/lib/lua/luci/model/tfstats.lua:62: malformed number near '0x100000000'
stack traceback:
[C]: in function 'loader'
/usr/lib/lua/luci/ccache.lua:81: in function </usr/lib/lua/luci/ccache.lua:72>
[C]: in function 'require'
/usr/lib/lua/luci/controller/admin/tfstats.lua:15: in main chunk
[C]: in function 'require'
/usr/lib/lua/luci/dispatcher.lua:532: in function 'createindex_plain'
/usr/lib/lua/luci/dispatcher.lua:484: in function 'createindex'
/usr/lib/lua/luci/dispatcher.lua:563: in function 'createtree'
/usr/lib/lua/luci/dispatcher.lua:238: in function 'dispatch'
/usr/lib/lua/luci/dispatcher.lua:195: in function </usr/lib/lua/luci/dispatcher.lua:194>

直接通过命令调用lua脚本中的函数接口进行调试

比如要调试controller/admin/目录下的testmodel.lua中的api函数get_helloworld,编辑好文件后,可以直接在串口中输入命令:lua -e ‘require(“luci.controller.admin.testmodel”).get_helloworld()’
进行调试

以上两个小技巧,提升lua在开发板上的调试效率,mark一下。

猜你喜欢

转载自blog.csdn.net/vickytong1018/article/details/80708222