Licensed under Boost Software License
LRDB is Debugger for Lua programing language.
Currentry debug client is Visual Studio Code extension only.
Command line interface debugger is not implemented.
- Breakpoints with conditional and hit counts.
- Step over, step in, step out
- Display Local,Upvalue,Global values
- Watches,Eval on Debug Console
- Remote debugging over TCP network
- Lua 5.1 or later
- C++11 compiler
LRDB is header only library
- LRDB/include
- LRDB/third_party/asio/asio/include or boost.asio with -DLRDB_USE_BOOST_ASIO
- LRDB/third_party/picojson
#include "lrdb/server.hpp"
...
int listen_port = 21110;//listen tcp port for debugger interface
lua_State* L = luaL_newstate();//create lua state
lrdb::server debug_server(listen_port);
debug_server.reset(L);//assign debug server to lua state(Required before script load)
bool ret = luaL_dofile(L, luafilepath);
debug_server.reset(); //unassign debug server (Required before lua_close )
lua_close(L);
If you using standalone Lua. you can use lua c mocule.
Build and Install with LuaRocks
luarocks install lrdb
mkdir build
cd build
cmake ../ -DLUA=lua-5.3
cmake --build --target lrdb_server
Generated lrdb_server.so or lrdb_server.dll
lrdb = require("lrdb_server")
lrdb.activate(21110) --21110 is using port number. waiting for connection by debug client.
--debuggee lua code
dofile("luascript.lua");
lrdb.deactivate() --deactivate debug server if you want.