https://github.com/satoren/lrdb
Lua Remote DeBugger
https://github.com/satoren/lrdb
debugger lua
Last synced: 10 months ago
JSON representation
Lua Remote DeBugger
- Host: GitHub
- URL: https://github.com/satoren/lrdb
- Owner: satoren
- License: bsl-1.0
- Created: 2017-01-18T16:14:15.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2023-04-12T02:02:54.000Z (almost 3 years ago)
- Last Synced: 2025-02-27T12:26:37.029Z (11 months ago)
- Topics: debugger, lua
- Language: C++
- Size: 6.55 MB
- Stars: 64
- Watchers: 5
- Forks: 21
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- License: LICENSE_1_0.txt
Awesome Lists containing this project
README
# Lua Remote DeBugger
Licensed under [Boost Software License](http://www.boost.org/LICENSE_1_0.txt)

[](https://coveralls.io/github/satoren/LRDB?branch=master)
## Introduction
LRDB is Debugger for Lua programing language.
Currentry debug client is [Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=satoren.lrdb) only.
Command line interface debugger is not implemented.
## Features
* 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
## Requirements
* Lua 5.1 or later
* C++11 compiler
## Embedded to your host program
LRDB is header only library
### include path
- LRDB/include
- LRDB/third_party/asio/asio/include or boost.asio with -DLRDB_USE_BOOST_ASIO
- LRDB/third_party/picojson
### code
```C++
#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](https://luarocks.org/)
```
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
```lua
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