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, auto-completion, 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.12 is now available for download. This turned out to be a huge patch with lots of bug fixes, big and small. 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.12:

  • Added a Breakpoints window for viewing all breakpoints in the project
  • Added an error message when a SCC plugin could not be initialized
  • Added Help menu option to go to support information
  • Improved the performance of removing tabs from large files
  • Changed breakpoints to be stored in the .deuser file rather than the .deproj file
  • Changed the "Add New File" dialog to use source control's local path as the default if the project has not yet been saved
  • Changed the Find/Replace dialog to update when Ctrl-F/Ctrl-H is pressed with text selected in the editor
  • Changed Debug menu accelerators to be consistent with Microsoft Visual Studio
  • Fixed compatibility with SCC plugins that don't allow multi-threaded access (fixes Perforce SCC)
  • Fixed compatibility with applications where the lua_newstate function was optimized away by the compiler (uses luaL_newstate instead)
  • Fixed issue where the output of luac could not always be clicked on in the output window to go to the correct line
  • Fixed bug where Decoda would hang when debugging applications that were not loaded at the default load address (fixes problems with 64-bit Vista)
  • Fixed bug where Decoda did not call SccCloseProject on SCC plugins
  • Fixed bug where symbols were not properly parsed from files when there was no project loaded
  • Fixed bug where breakpoints would move the previous line when a file was closed and then opened again
  • Fixed bug where an application being debugged would hang if Decoda was closed while at a breakpoint
  • Fixed occasional crash or hang in the debugee when detaching the Decoda debugger
  • Fixed bug where breakpoints were not always properly moved when inserting or deleting lines of text
  • Fixed bug where breakpoints inserted in an edited file during debugging could become hidden, unremovable or otherwise out sync with the modified file
  • Fixed bug where a SCC plugin could crash Decoda on shutdown
  • Fixed crash bug if the user canceled selecting a source control project in the Project Settings window
  • Fixed bug where the source control status for a file was not updated in the project when it was added using Project/Add Existing File
  • Fixed bug where the auto-updater would sometimes append bogus data to the files that were updated
  • Fixed bug where the "Go To Line" dialog locates the cursor after the selected line
  • Fixed bug where double-clicking a line in search output locates cursor after the line listed
  • Fixed bug where a file automatically loaded during debugging could be "undone" so there was no text in the file
  • Fixed bug where closing an open file that had changes without saving would not properly undo modifications to the line mapping and breakpoints
  • Fixed bug where inserting a new line at the beginning of a line wouldn't properly move breakpoints down with the line
  • Fixed bug where the line number displayed in the call stack window was off by one
  • Fixed bug where the line numbers in the Call Stack window didn't reflect any modifications to files made during a debugging session
  • Fixed bug where the current line marker would disappear after closing and then opening the file where execution had stopped

If your evaluation for Decoda has ended and you would like to request an extension, please e-mail us at decoda@unknownworlds.com.

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

3 Comments

Decoda 1.11 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.11:

  • Added auto completion
  • Added filtering option on the Project Explorer Window to only display certain types of files
  • Fixed bug where the user would be prompted to save the current file multiple times when exiting the application
  • Fixed issues when dealing with versions of source files that differ from the ones loaded into Lua
  • Fixed crash when editing a script file during debugging
  • Fixed bug where the source control status in the Project Explorer window was not updated when a read-only file was checked out by attempting to edit it
  • Fixed bug where the using the Lua 5.1.4 binary DLLs would not display the source code (could happen with other applications where luaL_loadfile could not be intercepted

If your evaluation for Decoda has ended and you would like to request an extension, please e-mail us at decoda@unknownworlds.com.

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

0 Comments

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