Decoda is a professional development environment for debugging Lua script in your applications. It's familiar and fast and you'll wonder how you ever worked without it.
Features
- Full graphical IDE. Syntax highlighting, symbol browsing/filtering, configurable hotkeys and colors, custom tools and more. If you know MSVC, you'll be comfortable immediately.
- Plays well with others. Integrates with your source control (SCC) and is simple enough for the un-nerdly. It also supports LuaPlus wide-character strings, and even attaches to MSVC for debugging your native code.
- Plug and play. Debug Lua files inside your application without making any code changes. It works with Lua 5.0 and later and supports modified versions as well. The latest and greatest games work with Decoda and your creation will too.
- Source code licensing and free support. See the FAQ for details.
Decoda 1.09 is now available for download. If you have auto-updates enabled, Decoda will automatically detect the update and download it (you can also manually do this by selecting Help/Check For Updates from the menu). Otherwise grab and run the latest installer from here.
Here's the change list for Decoda 1.09:
- Added support for LuaJIT (just-in-time compilation is automatically disabled when the debugger is in use)
- Improved evaluation and display of values and expressions when hovering over them in the code editor
- Added auto-indentation so that the next line will have the same indentation as the current line
- Added an information pane in the Project Explorer window to show the full file name of the currently selected item
- Fixed occasional deadlock when the application being debugged called LoadLibrary was called while a DLL was being loaded
- Fixed bug where changing the Windows DPI would cause some dialogs to be displayed incorrectly
- Added icons to the call stack and virtual machines windows to show the current point of execution and the context in which the watch values are being evaluated
- Fixed bug where selecting Close All Documents would not remove temporary files from the project
- Fixed bug where selecting No in the Close All Documents dialog would cancel the operation instead of closing the files
- Added Cut, Copy, Paste, Delete and Select All options to the Edit menu to allow them to be hotkeyed
- Fixed bug where opening a file in the current instance would not restore the window if it was minimized
- Fixed bug where the first call to luaL_loadbuffer would load the script twice in some instances
- Fixed bug where nested for loops would not execute properly if there were expressions in the watch window
- Improved display of multi-byte character strings in the watch window
- Fixed memory overwrite when evaluating some multi-byte character strings in the watch window
Decoda 1.07 is now available for download. Here's the change list:
- Added option to automatically load the last project on startup (under Tools/Settings/Editor)
- Fixed bug where calling lua_pcall with no error handler would cause problems with some implementations of Lua
- Fixed bug where local variables and up values with nil values that shadowed global variables were not properly displayed in the watch window
- Fixed issues when using split views in the editor
- Fixed issue where the debugger window was not brought to the foreground when a breakpoint or exception was hit
- Changed Find in Files dialog to start out with the text selected
- Added saving of Find in Files search text history
- Fixed crash bug when calling lua_load with two identical chunk names, one of which was preceded by a @ symbol
- Fixed bug where strings enclosed in single quotes were not properly syntax colored
- Fixed crash bug when adding new lines at the end of a file during a debugging session
- Fixed issue where implementations of Lua that redefined lua_Number would not display numbers properly in the Watch window
- Fixed issue where multiple scripts with the same file name (but in different directories) would not be displayed separately in the project during a debugging session
You can either use the auto-update function built into Decoda, or grab the latest installer from here. There's no need to uninstall the current version when updating.
Decoda 1.06 is now available for download. This version primarily fixes issues with Lua coroutines, displaying values in the watch window and "strict" versions of Lua, but there's a bunch of other minor bug fixes as well. Here's the complete change list:
- Fixed bug where up values for functions were not displayed in the watch window
- Fixed bug where meta methods on the global table that invoked the error function could cause deadlocks in the watch window
- Fixed bug where watches could be evaluated in VMs that had been destroyed
- Statements can now be evaluated in the watch window
- Fixed crash bug when using decoda.output with an implementation of Lua linked with the stdcall calling convention
- Changed new project files to be opened in the editor when they are added
- Added prompt when creating a new file with the same name as an existing file
- Fixed crash bug where VMs for Lua coroutines would not be removed from the the VM list
- Fixed bug where "VM destroyed" message was sometimes displayed multiple times when a single VM was destroyed
- The previous window position is now restored when starting up Decoda
- Fixed bug where files that are automatically loaded during a debugging session did not default to the appropriate directory when the user tried to save them
You can either use the auto-update function built into Decoda, or grab the latest installer from here. There's no need to uninstall the current version when updating.

