A remote debugger for Lua (5.1-5.4 and LuaJIT) supporting cross-platform debugging, breakpoints, and state inspection.
MobDebug is a remote debugger for Lua that enables developers to control and inspect Lua programs running on local or remote machines. It supports setting breakpoints, pausing execution, and examining program state across multiple Lua versions and platforms. It solves the problem of debugging Lua applications in distributed or embedded environments where traditional debuggers fall short.
Lua developers working on cross-platform applications, embedded systems, or Lua-based frameworks like nginx/OpenResty, Lapis, or wxwidgets who need robust remote debugging capabilities.
Developers choose MobDebug for its extensive Lua version support (including LuaJIT), cross-platform debugging, and integration with tools like ZeroBrane Studio. Its source map support for languages like Moonscript and coroutine debugging features provide unique flexibility not found in basic Lua debuggers.
Remote debugger for Lua.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports debugging across Windows, macOS, and Linux, even with the debugger and application running on different systems, as highlighted in the README for diverse environments.
Compatible with Lua 5.1, 5.2, 5.3, 5.4, and LuaJIT 2.x, making it versatile for various Lua projects and legacy codebases.
Enables debugging of Lua-based languages like Moonscript and GSL-shell through source maps, extending its utility beyond plain Lua.
Offers configurable triggers for debugging within coroutines, with options like 'on()' and 'coro()' calls, useful for asynchronous or game logic.
Requires careful setup to handle path mismatches, case sensitivity issues, and coroutine triggers, as detailed in the troubleshooting section, which can be error-prone.
The debugger checks for messages every 200 statements by default (adjustable via checkcount), delaying breakpoint triggering and adding runtime overhead.
Relies on LuaSocket 2.0+, adding an external dependency that may not be available or desirable in embedded or restricted environments.