Tcl HomeTcl Home hosted by
ActiveState

Google SiteSearch
Highlights | Frequently Asked Questions | Requirements

The easiest and fastest way to debug Tcl applications!

TclPro Debugger provides the debugging facilities you've always wanted for Tcl: breakpoints, single-stepping, stack and variable display, variable-based breakpoints, and more, all with an easy-to-use graphical user interface. TclPro Debugger works not only with standard Tcl applications such as tclsh and wish, but also with CGI applications, remote applications, and Tcl interpreters embedded in other applications. With TclPro Debugger you can now develop Tcl applications faster than ever!

Product highlights

Simple graphical interface. TclPro Debugger displays your source code in a window where you can simply click on lines to set breakpoints. When your application stops, the current line is displayed along with a stack trace and values of local variables. (Screen shots)

Execution control. With TclPro Debugger you can set breakpoints that cause the application to stop whenever a particular line of code is executed or whenever a particular variable is modified. Once the application is stopped, you can step through commands one at a time or continue the application at full speed. You can choose either to step through or step over nested procedures. You can also interrupt runaway applications to force them to stop.

Variable display. TclPro Debugger displays the values of current variables in its main window, and provides several additional tools you can use to display individual variables in more detail or track their values as the program executes.

Error handling. If an error occurs in your application, TclPro Debugger stops the application at the statement where the error occurred, so that you can examine the causes of the error. You can then choose to ignore the error or propagate it in the usual Tcl fashion.

Remote debugging. TclPro Debugger allows you to debug a variety of Tcl applications ranging from simple wish applications running on the same machine as the debugger to Tcl interpreters embedded in other applications running on remote machines. If you can reach a Tcl interpreter with sockets, then you can debug it with TclPro Debugger. If your customers are having problems with a Tcl application, you can debug the application while it is running on your customer's machine, without ever leaving your office. This facility is particularly useful on platforms such as Windows that don't allow remote logins.

CGI debugging. The remote debugging facility described above also allows you to debug Tcl CGI scripts running on your Web server.

Eval window. TclPro Debugger provides an eval window that you can use to type arbitrary Tcl commands to be executed in the application you are debugging. This provides a convenient way to test bug fixes, reset variables, redefine procedures, or probe the state of the application.

Project handling. TclPro Debugger remembers information about a particular debugging session, such as the script being debugged and current breakpoints, and lets you save it as a project. When you restart the debugger you can easily return to a previous project.

Frequently asked questions

Q. Will TclPro debugger work with extensions such as [incr Tcl], Expect and TclX?
A. Yes. Scriptics has already provided full support for these extensions in TclPro Debugger and many other extensions should work with TclPro Debugger as well. However, if an extension defines additional control structures (commands that take Tcl scripts as arguments) then by default you will not be able to set breakpoints or stop the application inside the script arguments. For Gold and Platinum-level support customers, assistance is available from Scriptics to work around this limitation. In future releases, TclPro Debugger will contain built-in support for additional extensions and eventually provide APIs that allow customers to add support for their own extensions.

Q. Are there applications for which TclPro Debugger cannot be used at all?
A. If you change the behavior of certain core Tcl commands such as source and proc, you may break TclPro Debugger. TclPro Debugger works by modifying the code of your application to add additional commands for debugging (we call this process instrumentation). In order to instrument your code transparently, TclPro Debugger creates wrappers around the source and proc commands so that it can instrument any new code added to your application. If you override these commands yourself, it may interfere with TclPro Debugger's instrumentation code. For Gold and Platinum-level support customers, assistance is available from Scriptics to work around these problems.

Requirements

System hardware/software

TclPro Debugger is available as a ready-to-run application for the following platforms:

  • Windows 95, 98, NT 4.0 (Intel), 2000
  • Solaris 2.5, 2.6, 7 (SPARC)
  • HP-UX 10.20
  • Linux (Intel, Red Hat 5.0+, SuSE 6.0+)
  • SGI IRIX 6.3+
Note: The Linux distribution is for the Intel platform and the glibc2 C library.

Tcl versions

TclPro Debugger works with the following versions of Tcl:

  • Tcl 7.6 or higher
  • Tk 4.2 or higher
  • [incr Tcl] 2.2 or higher
  • [incr Tcl] 3.0 or higher
  • Expect 5.29 or higher
  • TclX 8.0.5 or higher