debug.lua: a terminal based debugger for lua
What is it?
debug.lua is a terminal based standalone frontend for mobdebug. Because it is terminal based, it is navigated only with the keyboard, but it does feature source navigation and a display for expressions that change as you step through the source.
It has been tested on Linux and Mac OS X with lua 5.1, 5.2 and 5.3. The debuggee can be anything that is supported by mobdebug.
What's new in version 0.11
- added simple config files to change the colors used by debug.lua
- fixed a bug where the output of the ‘=’ command was getting formatted on a weird (and also wrong) way
What's new in version 0.10
- fixed bug where last line in a source file would not be read if it did not end in a newline
- added conditional breakpoints
- when called with `-l file` argument, debug.lua will now also log all pinned expressions to the output log whenever they're updated.
- fixed number lexing bug in loader.lua
- fixed short string lexing bug in loader.lua
- fixed error "handling" in loader.lua
- added D command as interface to mobdebugs `DONE` command
- read default port from environment var MOBDEBUG_PORT if it exists
- added check for required mobdebug version (currently 0.63 or later)
If you want to know a little more, you can check out the original mobdebug documentation and code.
You can get debug.lua 0.11-1 by clicking on this link, or by installing it from the luarocks repository. If you fetch it from here, the included README gives hints on how to build it.
There is also a mercurial repository at https://codeberg.org/gnarz/debug.lua which gets changes I make between the releases.
debug.lua module and all accompanying documentation and additional source code is released under the MIT license.
Copyright (c) 2014-2017 Gunnar Zötl
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
If you have anything to say about this, comments, bug reports, whatever, feel free to email them to