OpenVMS Undocumented Features

This is the most complete collection of undocumented features we can find for OpenVMS. Some of these have been around since the time when it was called VMS while others are more current and have been added to OpenVMS V8.n. These features:

  • Are NOT documented (if they were, they wouldn't belong here)
  • Are NOT supported by PARSEC Group or HP
  • Are NOT guaranteed to work
  • May NOT exist in all versions of OpenVMS; past, present and future
  • Are subject to change, removal, enhancement or being documented at the whim of OpenVMS engineering
  • May be fun to know the next time you play OpenVMS trivial pursuit
  • May help you get your job done easier and faster
  • May help you impress your boss with your knowledge of the obscure

DUMPSTYLE System Parameter

The DUMPSTYLE parameter controls what OpenVMS writes to the dump file in the rare case of a system crash. This parameter is a bit mask documented as:

  • Bit 0 - if clear, a full dump is written;
    if set, a selective dump is written.
  • Bit 1 - if clear, minimal console output is displayed;
    if set, full console output is written.
  • Bit 2 - if clear, the dump file resides on the system disk;
    if set, the dump file resides on the disk pointed to by the console variable DUMP_DEV
  • Bit 3 - if clear, an uncompressed dump is written;
    if set, a compressed dump is written.
  • Bit 4 - if clear, dump shared memory;
    if set, do not dump shared memory.

The undocumented bit includes:

  • Bit 5 - if clear, write all processes and global pages to a selective dump as limited by available space;
    if set, write only key processes and global pages to a selective dump.

The processes to be included may be extended with the SYSMAN command DUMP_PRIORITY.

F$LOGICAL lexical function

The F$LOGICAL lexical function allows translating a logical name to its resultant string. This function has been replaced with the more flexible F$TRNLNM lexical function; but true to the manner of OpenVMS engineering, this once supported lexical function continues to work. Its only argument is the logical name to be translated.

$ write sys$output f$logical("sys$login")

SDA$DEVELOPER logical name

The logical name SDA$DEVELOPER may be defined to FFFFFFFF to display debug information that can be helpful to the developer of SDA and SDA extensions. Different bits represented by the logical name cause different debug information to be displayed. Some of the information that may be displayed includes the creation of new symbols and when memory is read from the system or a process.

SET$AUDIT logical name

Debug information may be displayed by the SET AUDIT command by defining the SET$AUDIT logical name in executive mode. For security reasons, only privileged processes may create a logical name in executive mode. If defined, the SET AUDIT command displays debug information. If it is defined to the string NOWRITE, then it also will not send the packets to the Audit Server mailbox.

$ define set$audit /exec 1
$ set audit/audit/enable=logfail=batch


Message (1/14) contains 2 packets and is 78 bytes long (flags = 4, version = 3)

  Packet (77) is 44 bytes:
    004D002C  ,.M.     00000000
    00000000  ....     00000004
    00010000  ....     00000008
    00000000  ....     0000000C
    00000000  ....     00000010
    00000000  ....     00000014
    00000000  ....     00000018
    00000000  ....     0000001C
    00000000  ....     00000020
    00000000  ....     00000024
    00000000  ....     00000028

  Packet (81) is 14 bytes:
    0051000E  ..Q.     00000000
    41424D5F  _MBA     00000004
    36333031  1036     00000008
    00003A37  7:..     0000000C

  (request) QIO status = 00000001, IOSB = 0001
  (reply)   QIO status = 00000001, IOSB = 0001

SHOW ROOT command

The SHOW ROOT command displays the POSIX root path used by the system. This may be set with the SET ROOT command. The POSIX root path is used when RMS or the C run-time library parses file names starting with a slash (/). It may be interesting to note that the SHOW ROOT command is displayed in an example for the SET ROOT command; but it is not included in HELP for the SHOW command.

$ set root $22$dka300:[vms$common]
%SET-I-PSXROOSET, system POSIX root set to $22$DKA300:[VMS$COMMON]
$ show root

First  Previous  Page 5 of 15  Next  Last

Please enjoy these features at your own risk. If you are aware of other features in OpenVMS which are currently undocumented, you may use our inquiry form to inform us. We may then add it to our list.

Cookie Manager

We use cookies to enhance the features of our web site. We don't set optional cookies unless you enable them. Using this tool sets a cookie on your device to remember your preferences. For more detailed information about the cookies we use, see our Cookies page.

Necessary Cookies

Necessary cookies enable core functionality such as security, network management, and accessibility. You may disable these by changing your browser settings, but this may affect how the website functions.

Preference Cookies

Preference cookies enable this site to remember information that changes the way the website behaves or looks.

Statistics Cookies

Statistic cookies help us to understand how visitors interact with the site by collecting and reporting information anonymously.

Marketing Cookies

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.