TixDebug is solely based on Tcl/Tk, there is no C-code, which makes it very easy to install. It 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.
The advantages are that TixDebug knows which statement in what proc is currently being executed and can give visual feedback by highlighting it. All currently accessible variables and their values are displayed as well. Code can be evaluated in the context of the current proc. Breakpoints can be set and deleted with the mouse.
Unfortunately there are back-draws to this approach. Preparation of large procs is slow and due to Tcl's dynamic nature there is no guarantee, that a proc can be prepared at all.
This problem has been alleviated somewhat with the introduction of partial preparation of procs. There is still no possibility to get at code running in global context, but I'm not sure if that would be useful anyway.
There are two parts to TDebug: