Debugging TACL Programs
Developing TACL Programs
107365 Tandem Computers Incorporated
2–33
To reenter the debugger after using STEP, set a breakpoint on a variable that will be
invoked later in your program. Next, type RESUME to run your program until TACL
encounters the breakpoint or finishes the program. Note that setting a variable (such
as
#SET x 123
) is not an invocation of the variable;
[x]
is an invocation of the
variable.
To end a debugging session, clear all breakpoints and type RESUME.
The following considerations apply to use of the debugger:
The debugger is itself a TACL variable. Any inputs that are not debugger
commands are assumed to be TACL commands, variables, or built-in functions.
Commands such as #UNFRAME can influence the routine that is being debugged.
Debug commands must reference declared variables. The TACL debugger
displays each line before it is evaluated; therefore, a declaration (#PUSH) is in
effect when the debugger is displaying a line that follows the #PUSH function.
To set a breakpoint, specify a variable that will be invoked at a later point in the
debugging session. The variable may be used by the function you will debug or
by a later invocation from within the program, but it must be defined when you
set the breakpoint.
Note
You cannot set a breakpoint on a variable that is located in a read-only segment file such as TACLSEGF.
A Sample Debugging
Session
Use the routine in Figure 2-15,
tedsave
, as sample code for the interactive debugging
session described following Figure 2-15.
The routine in Figure 2-15 invokes TEDIT for a file supplied as the argument. The
syntax for this routine is:
tedsave
file-name
The example in Figure 2-15 includes the use of #ARGUMENT, which is described in
Section 3, “Developing TACL Routines.” To perform the same work from a macro,