This paper describes an implementation of a debugger for Tcl applications The debugger has a typical front end but with some extremely unusual commands, in part because of the features and limitations of Tcl. The debugger is modeless, allowing users to issue Tcl and application commands along with debugger commands. Each type of command may invoke the other, allowing debugging to be programmed, dynamically or in advance.
The debugger is written in C and is very fast. When linked in but not used, it does not show applications at all. The debugger requires no modifications to the Tcl core,a nd can be plugged into applications with little effort.