|
What is Tuba
Tuba is a debugger for Tcl/Tk programs. The goal of Tuba is to provide
a debugging environment similar to traditional source level debuggers for
other languages.
Here are some of the currently supported features of Tuba:
-
Able to debug any Tcl/Tk 8.0 based interpreter
-
Source code viewing; you see the source as you step through it
-
Common debugging operations such as continue, step, step over
-
Set breakpoints on specific lines or specific proc entries
-
View variables, with the option to set a watchpoint, a breakpoint that
is triggered when the variable is modified
-
Can intercept errors as they occur and look at the stack or variables in
the context of the error.
Requirements For Running Tuba
Tuba requires Tcl/Tk 8.0 or any interpreter built using 8.0 libraries.
This is for the namespace functionality. Everything is written in pure
Tcl/Tk, although a couple of included shared libraries can be used for
increased speed. All you really need is some Tcl/Tk source code to debug!
Tuba has been tested and run on Unix-based systems (Linux and SunOS),
Windows 95, and Windows NT; however, it should run with little to no modifications
on all Tcl-supported platforms.
Screenshots of Tuba
Here are some screenshots of Tuba running:
Version Descriptions and Downloading
-
Tuba 2.4.p1 Uploaded 11/26/98. This patch fixes a few bugs that
were introduced with the 2.4 changes, plus a couple that have just been
discovered. To see the bugs fixed, look at CHANGES.
-
Download one of these:
-
The parsers have stayed the same. Here they are if you haven't gotten 2.4
yet.
-
Tuba 2.4 Uploaded 11/11/98. This release has many bug fixes
that have been nagging me for awhile. I also managed to get in a few new
features:
-
proc exclusions - a facility to exclude certain procs from being instrumented
and thus not debugged.
-
sessions - you can now save your debug sessions in a file for later retrieval.
This includes breakpoints, options, etc.
-
Many more changes listed in the CHANGES
file.
-
Download one of these:
-
The parsers have a small bug fix in them (these are optional):
-
The User's Guide has been updated. I've added a section called What's
New in 2.4. This will give the lowdown on the new features and big
fixes. Read it here.
It is also included in one of the above archive files.
-
Tuba 2.3 Uploaded 08/21/98. This version includes lots of changes
with respect to parsing and instrumenting. Most notably, this version supports
caching of instrumented sources, features a new run-time instrumenting
option which works well with "difficult" Tcl code, and includes an updated
user's guide. See the CHANGES
file for a complete list of changes.
-
Download one of these:
-
The parsers. These have changed yet again and also include an experimental
parser that is faster and easier to maintain:
-
The user's guide has finally been updated to reflect 2.3. I'm not providing
the postscript version anymore. Instead, you can create it yourself with
the html2ps perl script found here,
and using the style configuration file in the doc directory. Careful, though.
This utility is a memory hog.
-
Old versions available upon request
Installing Tuba
-
First get the distribution tar or zip file.
-
Unpack or unzip it in a directory where you will run Tuba.
-
That's the minimum you have to do. Just run the tuba program. See the README
file in the tuba directory for more installation details.
For Windows users, you can create an association for the sessions files
to bring up the session in tuba. Here are the basic instructions:
-
Bring up the Folder Options window
-
Select the File Types tab
-
Click the New Type... button
-
Set the Description to "Tuba Session File"
-
set the Associated Extension to "ses"
-
Click the New... button for a new action
-
Set Action to open
-
Set the Application to the following, substituting <wishdir> for the
directory you installed wish80 in and <tubadir> for the directory you
installed tuba in:
"C:<wishdir>\wish80.exe" "C:<tubadir>\tuba.tk" -- -s "%1"
You can also add a new action to .tcl extensions for debug so that you
can easily load up a Tcl/Tk source file in the debugger:
-
Bring up the Folder Options window
-
Select the File Types tab
-
Find the registered file type TclScript
-
Select it and hit the Edit... button
-
Click the New... button for a new action
-
Set Action to debug
Set the Application to the following, substituting <wishdir> for
the directory you installed wish80 in and <tubadir> for the directory
you installed tuba in:
"C:<wishdir>\wish80.exe" "C:<tubadir>\tuba.tk" "%1"
If anyone knows how to use the registry
package and set these associations up via a script, I would appreciate
some help. Thank you.
Legal Mumbo Jumbo
Tuba is released under the starving Artist Artistic License. Details found
in the LICENSE
file. Basically, you can do anything you want with Tuba except make money
off it. To do that you have to make arrangements with me. |