Test Drive of Trax
Shawn M. Gordon
S.M.Gordon & Associates

What it can do?

When I first started working on the HP 3000 computers back in ’83, all of my work was in Basic. This was kind of a cool introduction to the machine, because Basic had an interpreter, and a compiler, so you could trace variables, set break points, single step your code, etc. This made debugging quit simple, and I really found it convenient.

When I first started in COBOL on the HP 3000 I foolishly just ran
COBOLII.PUB.SYS and tried typing code in thinking it would work like Basic had. Well, of course that doesn’t work, so we have been left to our own devices for debugging. What the world really needed was a nice source level debugger for COBOL, and that is exactly what Trax is.

While HP has come out with a couple of competing debuggers over the years, namely ToolSet and XDB, I don’t think they have ever come close to the beauty of Trax for COBOL. Trax has done a very nice job of implementing pseudo windowing technology to make the product extremely easy to use. Take a look at Figure one which shows the pop up help window overlapped on the source window. The basic screen has a large window with the source code and a pointer of where in the code you are at, and then you have a few lines at the bottom of the screen for executing commands.

How does it work?

Trax does its magic by having you compile your program with $CONTROL SYMDEBUG, and keep the compile listing of the code. Then you build a little cross reference file that tells Trax where the object code and the code list is. Somehow Trax synchronizes the source to the object, and displays the source to you, this is how you are to get the source debugging. I’m not exactly sure what information that SYMDEBUG puts into the object, but that is obviously the other critical piece.

I can’t tell how Trax is doing its nice little overlap windows, but they are very fast, and look quit nice. Makes the interface very intuitive. The popup online help really helps as well.


Outside of the standard code window, another window that you will make a lot of use of is the Watch Window. Take a look at figure 2 and you will see that we opened a 2 line watch window with WW 2. We then say that we want to display in the watch window the contents of the variable COM-RECNUM with WD COM-RECNUM. At the top of the screen you will see a small window with the current contents of COM-RECNUM displayed. You are able to easily trace, display, or change the value of any variable at any point i
n the execution of the program.

Figure 3 illustrates a much more esoteric, but potentially useful application of Trax. That is the ability to display the code in assembler and single step through one machine instruction at a time. At the top of the screen is a display of the various registers with hex values. If you are low level enough to be able to follow this kind of stuff, it’s there for you to enjoy.

Trax will let you do pretty much anything that you want with your source code in terms of break points, tracing, single stepping, jumping around code and modifying the value of variables.

Installation and Documentation

Installation is a very straight forward RESTORE, STREAM combination, pretty typical for most software products today.

The documentation is well written, starts off with a nice straight forward tutorial, and then has a complete reference guide. There is a self running demo of the product that is very nice as it shows you pretty much all the possible examples of the uses of the product.

The Test Drive

To get started using Trax I fired up the self running demo, and cracked open the book and switched back and forth for about 10 minutes. I then went through their examples from the manual and tried out the various commands on their sample code for about 30 minutes. I now felt it was time to start running my own programs through Trax. I needed to build up a little infrastructure first, like having a group for the compile lists, creating my driver files for Trax, and modifying my compile process. That took a few minutes more, and then I was off and running.

All and all, it’s quit simple to get set up and be productive with Trax, but you will want to be aware of the SYMDEBUG in your code and make sure to remove it for your final compile. I found that this is mostly a matter of training and setting up the correct procedures.


For anyone doing any serious COBOL development or maintenance, Trax is an absolute must, you will save an enormous amount of time in debugging with this tool. The software is functional, it does everything you could possibly want, it’s reasonably priced, and easy to use. If you have been doing any Windows based development you have gotten used to these types of tools, and I can’t imagine your not wanting to have them for your HP development as well.

Road Report

Trax version 2.5.07
Corporate Computer Systems, Inc.
670 N. Beers St., Bldg. 4
Holmdel, NJ 07733
Phone 732-739-5600
FAX 732-739-1818

Trax is a native mode application written in C that runs on any HP 3000 computer system. It has no special hardware or software requirements, and looks just as good on any standard terminal as it does under a terminal emulator.

The software is priced at a flat $3,000 per copy, and includes a DDS tape and one 180 page manual. Support is 15% of the purchase price per year and includes phone in support and new releases of the software. All prices are in US dollars.