satoren / LRDB

Lua Remote DeBugger
Boost Software License 1.0
62 stars 21 forks source link
debugger lua

Lua Remote DeBugger

Licensed under Boost Software License

test Coverage Status

Introduction

LRDB is Debugger for Lua programing language.

Currentry debug client is Visual Studio Code extension only.

Command line interface debugger is not implemented.

Features

Requirements

Embedded to your host program

LRDB is header only library

include path

code

#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);

Lua module

If you using standalone Lua. you can use lua c mocule.

Build and Install with LuaRocks

luarocks install lrdb

Build module your self

mkdir build
cd build
cmake ../ -DLUA=lua-5.3
cmake --build --target lrdb_server

Generated lrdb_server.so or lrdb_server.dll

Use module

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.

Visual Studio Code Extension

https://github.com/satoren/vscode-lrdb