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.

Leave work early.

Decoda 1.10 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.

In this release we fixed a bug which prevented the updater from working on Windows Vista. However, the existing auto-updater without the fix will be used to download and install this patch, so Vista users will have to download the installer manually. Future updates should auto-install properly.

Here's the change list for Decoda 1.10:

  • Added invoking a __towatch metamethod on userdata (if there is one) to allow displaying of members -- see documentation for details
  • Added invoking the __tostring metamethod on userdata (if there is one) to display the value in the watch window
  • Added display of types in the Watch window
  • Added feature where dragging an executable file into Decoda creates a new project for debugging that application
  • Fixed bug where expressions were not properly evaluated in the Watch window when execution was stopped due to an exception
  • Fixed bug where SCC plugins with names longer than 30 characters would not be displayed in the selection list
  • Fixed bug where the default hotkey for Edit/Delete was set to D instead of Del
  • Fixed UI errors in Windows Vista
  • Fixed bug where the auto-updater didn't properly work on Windows Vista
  • Fixed crash when scanning for a Lua signature in some applications
  • Fixed crash bug when there are multiple instances of the Lua API that are accessed in a different order than they are initially encountered (Fixes Wireshark)
  • Fixed crash when an application being debugged loaded a source file with 0 length
  • Fixed occasional deadlock when stopping a debugging session
  • Fixed occasional crash while debugging
  • Fixed crash when attempting to emulate lua_pushthread on a modified version of Lua 5.0
  • Fixed bug where lua_pushthread could not be emulated if Lua was compiled with 1 byte boundary alignment for structures
  • Fixed crash bug when adding an external tool without specifying a title

We're really excited about the Watch window improvements in this release. We use Lua and Decoda extensively in our own development and the ability to view userdata values in the Watch window makes debugging much faster. Check the documentation for information on how to implement the __towatch feature in your application to take advantage of this.

Other notable improvements are the ability to inspect values in the Watch window after Decoda has caught an exception, improved stability and compatibility.

As usual, please e-mail us at decoda-support@unknownworlds.com if you have any problems or suggestions.

2 Comments

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

1 Comment

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.

4 Comments