The latest beta test of my DCL Debugger is now available for download from:
http://tmesis.net/DCL-debugger/
The VMSINSTAL kit is available as a ZIP archive as well as self-extracting
ZIP archives for VAX, Alpha and Itanium. A new "BETA TEST" PAK has been
created as well, good through 1-Oct.2013.
This release has a number of new features suggested by those who have been
beta testing the DCL Debugger since it was first announced and released.
1. The DCL Debugger's no longer defaults to debugging the
SYLOGIN.COM and
LOGIN.COM when the debug session is started. A command line qualifier
"/DEBUG=([NO]SYLOGIN,[NO]LOGIN" has been added to override the default
behavior of NOT debugging these two process initialization procedures.
2. In conjunction with the #1, an internal DCL Debugger command has been
added to permit debugging of the
SYLOGIN.COM and
LOGIN.COM procedures.
This command is "SET DEBUG/[NO]SYLOGIN/[NO]LOGIN" and it can be places
in the user's DCL Debugger initialization file to establish a personal
preference for debugging these procedures. The command line qualifier
"/DEBUG=([NO]SYLOGIN,[NO]LOGIN" was given preferential control to over-
ride the "SET DEBUG/[NO]SYLOGIN/[NO]LOGIN" command.
3. The "/SPAWN" qualifier has been added to the DCLDBG command. "/SPAWN"
will create a DCL Debugger session that is automatically logged into a
users account as a sub-process; thus, simplifying procedure debugging.
Modeled after the DCL "SPAWN" command, the qualifiers "/[NO]SYMBOLS",
"/[NO]LOGICAL_NAMES" and "/[NO]SYMBOLS" exist with the same meaning as
with the equivalent DCL "SPAWN" command qualifiers.
4. A "/DETACH" qualifier has been added to the DCLDBG command. "/DETACH"
will create a DCL Debugger session that is automatically logged into a
users account without requiring username and password to be provided;
again, simplifying procedure debugging.
5. The DCL Debugger will now recognize terminals configured with greater
than 24 rows.
6. A "/GEOMETRY" qualifier now exists to create the DECterminal with with
greater than 24 rows. DECterminals up to 66 lines can be specified.
7. The DCL Debugger now treats DCL procedure source more akin to the high
level language debugger. GOTO, CALL and GOSUB scans do not display as
if single stepping through the source. IF-THEN-ELSE-ENDIF clauses now
skip over the clause which does not execute. This new default behavior
can be overruled with the new "SET SCAN" command.
8. Nonexecutable lines in DCL procedures will be stepped over. Comments
and blank lines will be treated more like the level language debugger
treats comments and blank lines in source files.
9. A new command qualifier "/NEXT" for the "GO" command will allow users
to continue to the next executable line at the current procedure level
without stepping into a procedure. ie.:
$ {current-line}
$ @procedure
$ {next-line}
The procedure is still executed but the DCL Debugger will not display
its source. Certain breakpoints, if established and encountered while
executing the procedure, will be honored and then, if there is a break-
point in the procedure, its source will be displayed.
10. A new qualifier, "/ENTRY" for "SET BREAKPOINT/FILE=procedure-spec" has
been added. Because the debugger will no longer "step" on comment or
whitespace lines, a "/LINE=#" that is a command will not cause the DCL
debugger to breakpoint. The "/ENTRY" qualifier was added to allow the
equivalent of "SET BREAKPOINT/FILE=procedure-spec/LINE=1" meaning to
breakpoint on the first executable statements encountered upon entry
to a procedure.
There are now several more specific builds for specific versions of OpenVMS
due to incompatibilities with symbolic offsets in DCL. Most of the "bugs"
that were reported were due to the DCL Debugger being built against OpenVMS
versions that were incompatible with the version of OpenVMS where the DCL
Debugger had been installed. There is now an IVP in the DCL Debugger kit
to check for such incompatibilities.