Dynamic Debugger

Difference between version 20 and 21 - Previous - Next
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 [http://www.codearchive.com/tcltk/juice.zip] 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 [ftp://ftp.tcl.tk/pub/tcl/mirror/ftp2.sco.com/pub/Skunk96/src/Tcl/tcl-debug.tar.gz] 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 [http://browsex.com/TDB.html] is a debugger for Tcl scripts.

   * [TIDE] [http://www.t-ide.com/] 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 [ftp://ftp.tcl.tk/pub/tcl/mirror/ftp2.sco.com/pub/Skunk96/src/Tcl/tk-debug-0.2.tar.gz] is a Tk interacter for Don Libes' Tcl Debug.

   * ftp://ftp.tcl.tk/pub/tcl/mirror/ftp2.sco.com/pub/Skunk96/src/Tcl/tdebug-1.0.README%|%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] [http://comanche.com.dtu.dk/john/tuba/] 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 [http://web.archive.org/web/20040224095847/http://hegel.ittc.ukans.edu/projects/smartgdb/index.html]. 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 [http://sourceware.cygnus.com/insight/] 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.

   * https://github.com/andrewgph/Tcl-Debugger%|%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.

   * https://github.com/arowser/tcldebug%|%tcldebug%|% 

   * [DDT] - Dynamic Debugging for Tcl 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.
   *  vw+ debugger for Tcl is a single file to source to provide dynamic debugging support for Tcl 8.6 or higher. It is very easy to use, see here https://github.com/rocketship88/vw-debugger for code and documentation. It can be used to just view some globals or namespace variables or put breakpoints into a program. It has a slow-mode auto-step feature to watch a program run, variables change, with controls for speed of the program. 


<<categories>> Debugging