Debugging is the of process diagnosing and correcting unexpected behaviour of programs.
See Also
- Category Debugging
-
- IDE
- many of which provide debugging functionality along with other features
- Profiling Tcl
- Static syntax analysis
Concepts
- call graph
Tools for Dynamic Analysis
- a basic debugger
- a debugger with syntax highlighting using ctext
- A minimal debugger
- atkdebugger
- A patch for Tcl 8.5 is available at the website
- 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
- Guarded proc
- RS: monitors or prevents redefining an existing proc
- Tkinspect
- 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.
- TkCon
- [L2 ]: by Jeff Hobbs. 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. 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.
- TclPro
- a popular open-source debugger originally sold by Scriptics
- Tuba
- providing source code viewing as you step thru the code, breakpoints on specific lines and procs, and ability to set watchpoints on variables
- TDebug
- 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 [L3 ] [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'.
- jTcl
- a Java-like object interface which provides debugging facilities. escargo 2004-02-04: dead link.
Publications
- 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
- debug with trace
- 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.
- Steppin' out
- uses Tcl's own command tracing
- traceproc helper
- specify a list of commands to monitor, and see the actual arguments passed to the commands when they are run, as well as the result.
- traceback
- what debugging tools are available to a Tcl programmer
- Whole-Script Tracing
Components with Debugging Features
- Tcl itself
- provides enhanced command tracing since release 8.4 (See TIP #62). Example of usage is at Steppin' out.
- BLT
- comes with several useful debugging commands.
- TclX
- comes with commands for profiling and debugging facilities, for example cmdtrace.
- SNTL
- includes a debugging message system.
- Source Navigator
- 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.
Projects
- GSoC Idea: Debugging tools for NRE