Debugging is the process of moving from the identification of some departure from the expected or hoped for behavior towards, hopefully, the identification of the cause, or at least, a change in the process so that behavior is more acceptable.
Tools
- a basic debugger
- a debugger with syntax highlighting using ctext
- A minimal debugger
- d: A handy little debugging proc
- by Ed Suominen, for development of PRIVARIA [L1 ], an end-user TCL app with a lot going on inside.
- a minimal debugger
- implements breakpoints, allowing to run any Tcl command, including inspecting and setting the local variables...
- Errx
- a mixed debug-message / stack backtrace introspection "puts"
- gdb
- Tkinspect
- Tkcon
- sports facilities such as idedebug and observe , which provide sophisticated breakpoint and tracing facilities, and hot errors, which displays the source of the proc in dig-down style
- INSPECT app
- valgrind
- Electric Fence
- PED
- RamDebugger
- Yet another Tcl debugger
- Tagma Debugger
- A rewrite of Yet another Tcl debugger.
Articles
- A Debugging Primer
- an excerpt Debugging: The 9 Indispensable Rules For Finding Even the Most Elusive Software and Hardware Problems, David J. Agans
- How to be a Programmer: A Short, Comprehensive, and Personal Summary, Robert L. Read, 2002
- PYK 2012-12: a quick glance-through indicates that this is worth the read. Others have received it positively as well.
See Also
- C compiled image processing on an interactive Bwise canvas
- Commonly encountered problems in Tcl
- Debugging Aid For Production Code
- Debugging Expect programs
- Dynamic Debugger
- a strange breed. For whatever reason, many programmers are either unfamilar or dissatisfied with most of the products in this category.
- Debugging via introspection]
- Effective ways to request help with Tcl-related problems
- Favorite debugging techniques applicable to Tcl
- Help! My Tcl application just crashed!
- How to debug memory faults in Tcl and extensions
- Leak Hunt (C level)
- Memory introspection
- important when trying to find bugs going into the C-level, especially hard to pin-down memory trouble
- regular expression debugging tips
- Static syntax analysis
- Static code checkers are tools which read your Tcl code and attempt to identify either real, or potential, problems. This is similar to the Unix lint command.
- traceback
- what debugging tools are available to a Tcl programmer
Components with Debugging Features
- BLT comes with several useful debugging commands.
- TclX comes with commands for profiling and debugging facilities, for example cmdtrace.
- Tcl itself provides enhanced command tracing since release 8.4 (See TIP #62). Example of usage is at Steppin' out.
- jTcl [L2 ] is a Java-like object interface which provides debugging facilities (found as a broken link by escargo on 4 Feb 2004).
- SNTL [L3 ] includes a debugging message system.
- TDebug [L4 ] is a Tk based debugger that is sourced into your script. Works conceptually like the emacs-lisp debugger.
An updated version of it is in TixDebug.
- The 'tracecommand' extension, based on a patch [L5 ] [does Vince Darley have a more recent version of this?] to the Tcl core, is available from the scriptics bug database [we need a URL here]. It can be used to dump before/after command+argument+result evaluations both globally or only inside a given command or procedure. It is similar to the 'trace dump' facility available in the Tcl-scripted MacOS editor 'Alpha'.
There are other useful tools available as well. [Well, how does one find them? One googles, asks questions, looks through this web site. My hope is that people fills in their favorite tools. ]
- Tkinspect is a stand alone application that queries a running Tk application and then displays its state. This allows you to display current variable values and modify procs or variables. A Tix-enabled version of it is in TixInspect. The Tcl Dev Kit provides an enhanced version of TkInspect since release 2.5.
- Jeffrey Hobbs' TkCon [L6 ] is also a great way to interact with a running Tcl/Tk application. It can be attached to any Tcl/Tk interpreter or namespace and allows any modification. This application comes bundled with ActiveTcl and therefore also with Tcl Dev Kit.
- Guarded proc monitors or prevents redefining an existing proc. RS
- Source Navigator is an IDE with code comprehension features. It is written in Tcl/Tk/itcl, but allows you to understand code written in a wide variety of languages.
- Nagelfar reads one or more Tcl scripts and checks them for correctness, conflicts and even a little style.
- Many of the IDEs available provide debugging functionality along with other features.
- RamDebugger