dpm's Freeware for OpenVMS page
An unhandled VMS exception simply writes the condition, signal arguments,
stack contents, and register dump to the standard output. This is seldom
useful in production software, because:
The user doesn't even notice the exception.
Even if they do, they aren't aware of the implications.
Even if they are, they don't know that they should copy the dump.
Even if they do, they aren't quick enough.
Even if they are, they don't remember to inform you.
Even if they do . . .
IT'S STILL NOT ENOUGH TO HELP YOU FIND THE BUG
- The Hardware Exception Reporting software
is a relatively simple condition handler to solve all of the problems
listed above. It traps any status desired, captures the data described
here (some via $GETJPI() and $GETSYI() calls,
some via a user-written system service named HOLMES), and logs it to a
text file named HARDWARE_EXCEPTION.RPT (in the login directory, if such is defined).
You can see two sample reports: one for the VAX
and one for the Alpha.
- The HOLMES software
is a user-written system service (and interface thereto) to obtain privileged
information about the current process:
- open files
- activated images
- existing locks
- existing timer
The more privileged image (MYCROFT.EXE) is written in MACRO32 to gather the data,
while the other (SHERLOCK.EXE) is written in C as a dynamically-loaded shareable image.
This allows the main application to call the Holmes functions without having
to link against them --- an important distinction, since MYCROFT is linked to the operating system
(with the /SYSEXE on alphas, against SYS.STB and SYSDEF.STB on vaxen).
- The DCL-emulation-within-C source code
demonstrates the emulation of common DCL commands (such as MAIL, SUBMIT, PRINT, REPLY, and STOP/ID)
- The General Purpose Editor is a TPU section complete with source code
and callable routines.
If you want to use the canonical unix editor, even while logged onto a VMS box,
download this zipped TPU emulation of vi
I found years ago and you're all set . . . installation is quick and simple.
You should also check out the several high quality packages written by the VAXman himself.
Index