Updated 2015-06-21 04:08:00 by SEH

A sub-category of Category Debugging.

Dynamic debuggers are a strange breed. For whatever reason, many programmers are either unfamilar or dissatisfied with most of the products in this category.

A dynamic debugger allows a developers the controlled execution of some application, stopping it at chosen breakpoints, or when some specific data was changed (watchpoints), doing step-by-step execution, examining the contents of callstacks, variables, and the like.

Any dynamic debugger having its own page should have a link to this page on its page, like for normal categories. That way clicking on the title of this page will then deliver a list of tools in this sub-category.

The list of options below is only for external references we cannot categorize directly, and unnamed tools which are part of greater system. The moment such tools get their own page here they will be removed from the list below and can be reached through the title of this page. --- Not yet, work in progress ---

  • http://www.codeforge.com/ has an IDE which supports Tcl as well as several other languages. Commercial.
  • Juice [1] is a Tcl 8.0 debugger with GUI interface. Link not found!
     l2f: http://www.codearchive.com/list.php?go=0109

  • MyrmecoX by NeatWare is a commercial Tcl debugger for Windows. It is based on the open TclPro sources.
  • The Tcl Dev Kit by ActiveState is also based upon TclPro, with a number of enhancements. Relevant in this section is prodebug, a visual debugger with breakpoints, watchpoints, code coverage analysis, sourcecode viewing, etc. The latter part integrates with procheck to show static syntax errors while stepping through the application. Commercial.
  • Tcl Debug [2] is a dynamically loadable extension written by Don Libes which provides breakpoints and single stepping of a Tcl script. Tom Tromey has extended this extension to provide filename and line number associations with statements.
  • Tdb [3] is a debugger for Tcl scripts.
  • TIDE [4] is an integrated development environment including version control management interfaces, debugger interface, difference/merge into version control management system tool, smart editing, simple project management, call tree browser, variable usage tracking, and ability to generate byte codes or stand alone binaries. It is a commercial product and makes use of the ICE compiler.
  • tk-debug [5] is a Tk interacter for Don Libes' Tcl Debug.
  • TDebug works by parsing and redefining Tcl/Tk-procs, inserting calls to `td_eval' at certain points, which takes care of the display, stepping, breakpoints, variables etc.
  • Tuba [6] is a Tcl/Tk 8 debugger with breakpoints, source code viewing, watchpoints, etc. Download from http://www.eolas.net/tcl/tcl-tuba25b1.zip viz. http://www.eolas.net/tcl/tcl-tuba24p1.zip Notice that tuba served as "a base for TclPro ..."
  • Komodo by ActiveState is a graphical editor and code debugging environment for several languages, including Tcl.
  • Another alternative here is to make use of your system's C level debugger - say gdb, codecenter, whatever... to start up the interpreter. Then once it is up, start up your tcl debugger, or tkcon, etc. so that you can see what your program will see AND see what is going on under the covers so to speak.
  • Not to mention the fun one could have with a tcl-level debugger which is able to interface to a tcl-aware C level debugger like SmartGDB [7]. Of course, this makes sense only if Tcl-level debugger (interface) and debugged application do not share the same process, i.e. they have to talk via pipes or sockets with each other. -- AK
  • Insight aka gdbtk [8] by Cygnus merges gdb and Tcl/Tk. The idea from the last point applies here too.
  • Testcov (test coverage) is a tool to register which parts of the code have been executed how often, it is less than perfect but it does a fairly nice job. Soon available on ProcPlace's archive. Arjen Markus
  • atkdebugger is a debugger extension that is fully integrated into Xotclide. It adds almost everything that this debugger needs. (no performance loss, no reparsing).
  • RamDebugger is a graphical debugger for Tcl/Tk developed in Tcl/Tk.
  • stepsource.tcl is a simple command-line pure-Tcl debugger that features line-by-line code stepping, dynamic setting of breakpoints, running to a specified line or end of procedure, variable value viewing and tcl command execution within the scope of the current procedure.
  • Tcl Dynamic Debugger: A dynamic debugger for Tcl code implemented in Tcl. It uses the parsetcl.tcl script created by Lars Hellström, with some modifcations made to improve parsing of switch statements. The debugger renames the proc command so that all proc definitions have a wrapper proc that checks whether any breakpoints have been set for the proc. If a breakpoint has been set, the proc body is explicitly parsed and each command is evaluated using the uplevel command in the context of the proc being debugged. This allows the debugger to handle control structures and multiline commands.
  • tcldebug
  • DDT [9] is a package providing dynamic debugging support for Tcl 8.5 or higher. It contains also a Tcl debugger example application. DDT uses the "unsupported" disassemble function of Tcl 8.5 and 8.6 to analyze the code to debug and to extend it with debugging helper commands that are transparent to the user.