使用技巧
使用 LuaJIT 控制台
可以使用 LuaJIT 控制台 REPL(读取 - 求值 - 打印循环)即时输入 SmartEDB 命令并查看其结果。要实现这一点,假设所需的环境变量已设置好(请参阅“快速入门”页面),只需启动提供的 luajit 解释器并加载 SmartEDB 库。例如:
LuaJIT 2.1.0-beta3 -- Copyright (C) 2005-2017 Mike Pall. http://luajit.org/
JIT: ON SSE2 SSE3 SSE4.1 fold cse dce fwd dse narrow loop abc sink fuse
> require 'exdb'
> initRuntime{}
> devices = {{ type='conv',
assignment= 'database',
size = 64*1024*1024
}}>> >> >>
> dbparams = {ddl_dict_size=64*1024, max_classes=100, max_indexes=100}
> db = create("luadb", devices, dbparams)
> =db
cdata<struct McoLuaDatabase *>: 0x01c12d78
> c = connect{db=db}
> c:statement("create table t(i int)")
> c:statement("insert into t values([1,2,3])")
> curs = c:query("select i from t")
> for row in curs:rows() do print (row.i) end
1
2
3
> c:close()
> close(db)
> close(dbname)
调式
可以使用调试器调试用 Lua 编写的用户定义函数(UDF)和脚本。一种通用的方法是使用客户端 - 服务器方法。SmartESQL 包含一个特殊模块,用于执行调试器代码并作为网络服务器工作。用户界面部分作为客户端和图形用户界面工作。
要在 Lua 程序内部启动调试服务器,必须使用一些第三方库。然后,Lua 代码必须加载并启动此服务器代码。
ZeroBrain Studio
ZeroBrain Studio 是一款免费的轻量级 Lua 集成开发环境(IDE),提供代码补全、语法高亮、实时编码、代码分析器和调试支持等功能。可以使用 ZeroBrain Studio 调试器来调试 Lua 用户自定义函数(UDF)和应用程序。例如:
require('mobdebug').start()
请访问 https://studio.zerobrane.com/doc-remote-debugging 获取更多信息。
Eclipse Lua 开发工具 (LDT)
要使用 LDT 进行调试,首先需要基于 Lua 源代码创建一个 Eclipse 项目。这需要安装 LDT 的调试工具包。请参考以下网站:
有关更多信息,请访问 https://wiki.eclipse.org/Koneki/LDT/User_Guide/Concepts/Debugger 。
要开始调试,请在要调试的用户自定义函数(UDF)开头输入以下这一行:
require('debugger')('192.168.0.112', 10000)
此命令将加载调试器模块,在本地主机上创建一个服务器,并绑定到特定的网络适配器。