Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

%LABEL

%LINE

ATTACH

CALL

CANCEL

DBG$INIT

DEBUG

DECLARE

DEFINE

DELETE

DEPOSIT

DISABLE

DISPLAY

EDIT

ENABLE

EVALUATE

EXAMINE

EXIT

EXITLOOP

EXPAND

EXTRACT

FOR

GO

HELP

IF

MOVE

QUIT

REPEAT

SAVE

SCROLL

SEARCH

SELECT

SET

SHOW

SPAWN

SS$_DEBUG

STEP

SYMBOLIZE

TYPE

WHILE

@file-spec

Address-expr

Control

Keypad

Languages

Lexicals

Messages

New Features

Pathnames

Release Notes

Screen Features

Examples

Parameters

Key

DEFAULT

GOLD

BLUE

MOVE_DEFAULT

EXPAND_DEFAULT

CONTRACT_DEFAULT

MOVE_GOLD

EXPAND_GOLD

CONTRACT_GOLD

MOVE_BLUE

EXPAND_BLUE

CONTRACT_BLUE

SUMMARY

State keys

ADA

BASIC

BLISS

CC

COBOL

DIBOL

FORTRAN

MACRO

PASCAL

PLI

RPG

SCAN

UNKNOWN

Data Types

Events

Exceptions

Multitasking

Operators

Names

Overloading

Packages

Subunits

Tick Operators

Commands

Event parameters

Examples

Operators

Expressions

Data Types

Notes

Operators

Expressions

Data Types

Operators

Expressions

Data Types

Notes

Operators

Expressions

Data Types

Notes

Operators

Expressions

Data Types

Operators

Expressions

Predefined Symbols

Data Types

Notes

Operators

Expressions

Data Types

Operators

Expressions

Predefined Symbols

Data Types

Notes

Operators

Expressions

Data Types

Notes

Operators

Expressions

Data Types

Notes

Events

Operators

Expressions

Data Types

Examples

Operators

Expressions

Data Types

Notes

%NAME

%PARCNT

%BIN

%DEC

%HEX

%OCT

%CURLOC

%NEXTLOC

%PREVLOC

%LABEL

%LINE

%ADAEXC_NAME

%EXC_FACILITY

%EXC_NAME

%EXC_NUM

%EXC_SEVERITY

%ACTIVE_TASK

%CALLER_TASK

%NEXT_TASK

%TASK

%VISIBLE_TASK

ABORTED

ABSDATSYN

ACCADDCOM

ADDRANCOV

ADDRESSMODE

ADDRREG

AMBFIELD

AMBIGQUAL

AMPERSAND

ASTWASDISABLED

ASTWASENABLED

ATTACHED

ATTREQREF

BADDESCR

BADDISCVAL

BADDST

BADEVNPAR

BADEXH

BADFRAME

BADOPCODE

BADPARAM

BADSCOPE

BADSIGARG

BADSTACK

BADSTARTPC

BADSTATUS

BADTAGVAL

BADTARGET

BADUSREVNT

BADWATCH

BASVARNOTSET

BITRANGE

BUFFEROVF

BWLGISMUS

CANTACCESSMAIN

CANTGETFID

CANTOPNIMG

CIREXLST

CMDSYNERR

CMPNOTFND

CONFLICT

CONFROMEXC

CONSTRCOMP

CPOSTDECR

CPOSTINCR

CPREDECR

CPREINCR

CRMPSCFAIL

CVTNEGUNS

DBGERR

DECLARERR

DECOVF

DECROPRAND

DEFKEY

DEFKEYERR

DELBREAK

DELKEY

DELKEYERR

DELTIMTOO

DELTRACE

DESCNOTSET

DISABLEAST

DISNOTSEL

DISPEXISTS

DISPRLENSIZ

DIVBYZERO

DSTERRG

DSTNESDEP

DYNIMGSET

DYNMODSET

EDITDISVER

EDITERROR

EDITFILE

EDITNOFILE

EDITREVVER

ENABLEAST

ENTRYMASK

ENUMRANGE

ERRASSIGN

ERRCLSFILE

ERRCRELNM

ERRDEASSIGN

ERRFAO

ERRGETDVI

ERRGETEF

ERRINSDEC

ERRINVEDIT

ERROR

ERRQIOW

ERRSMG

ERRSYSSERV

ERRUSREVNT

EXARANGE

EXCDURCAL

EXITARG

EXITSTATUS

FILEUNAL

FLTOVF

GETJPI

HEIGHTDIFF

IDENTLONG

IFIXUND

IFLTUND

IINTOVF

ILLADDCON

ILLASTER

ILLDEFNAM

ILLENUMVAL

ILLFILPTR

ILLFLOAT

ILLLENGTH

ILLPACSIZ

ILLPATH1

ILLPATH2

ILLPATHELEM

ILLPOSFLD

ILLQUALIF

ILLRANGE

ILLSETCON

ILLSIGEXT

ILLSIZFLD

ILLSUBLEN

ILLSUBSTR

ILLTYPE

INCDSTNES

INCOMPOPR

INCOMPPTR

INCOMQUAL

INDBASEQL

INITIAL

INPREADERR

INSVIRMEM

INTERR

INTMEMERR

INTOVF

INUMTRUNC

INVARGLIS

INVARRDIM

INVARRDSC

INVCHAR

INVCHRCON

INVDESC

INVDIGBIN

INVDIGDEC

INVDIGHEX

INVDIGOCT

INVDIRNAM

INVDMTPTR

INVDSPSIZ

INVDSTREC

INVEXPR

INVFIXDST

INVFLDREF

INVGSTREC

INVGSTTYP

INVMAR

INVNUMBER

INVNUMSRC

INVNUMSTR

INVOPADDR

INVOPSYM

INVPAGE

INVPRIOR

INVRANSPEC

INVSELDIS

INVSRCLIN

INVTIMSLI

INVWIDTH

INVWINPAR

IRFAOVF

ISTRTRU

IVALOUTBNDS

LASTCHANCE

LINEINFO

LONGSTRING

LOOPINCR

LOOPVAR

LOWBNDOPT

MATQUOMIS

MISCLOSUB

MISINVNUM

MISINVOPER

MISMODBEG

MISMODEND

MISOPEMIS

MODUSCOPE

NAMSTRMIS

NAMTOOLONG

NEEDMORE

NEEDPAREN

NOACCESSR

NOACCESSW

NOADDRREG

NOALTERSP

NOATTACH

NOBREAGGR

NOBREAKAT

NOBREAKS

NOCALLS

NOCANMAIN

NOCLI

NOCURLOC

NODELIMTR

NODEPDEBUG

NODIRLISM

NODIRLIST

NOELABBODY

NOELABSPEC

NOEND

NOEVALEXPR

NOEVENTFAC

NOEXHND

NOFIELD

NOFREE

NOGLOBALS

NOINSTRAN

NOKEYDEF

NOKEYPAD

NOLASTVAL

NOLINXXX

NOLOCALS

NOMARKCHNG

NOMATCH

NOMORE

NONEXPR

NONUMSCOPE

NONXTLIN

NOOCCLDISP

NOPACKMEMBODY

NOPACKMEMSPEC

NOPRED

NOPROMPT

NORMAL

NORSTBLD

NOSAVPROG

NOSCOPE

NOSCRDEV

NOSCRMODE

NOSCROLL

NOSCROLLDISP

NOSETTERM

NOSPAWN

NOSRCHSTR

NOSRCLIN

NOSTEPGO

NOSUCC

NOSUCHBPT

NOSUCHDISP

NOSUCHELP

NOSUCHIMG

NOSUCHMODU

NOSUCHPACK

NOSUCHSCOPE

NOSUCHTASK

NOSUCHTPT

NOSUCHWIND

NOSUCHWPT

NOSYMBOL

NOSYMBOLR

NOTADAPROG

NOTARRAY

NOTASTRUCT

NOTATMAIN

NOTCURPC

NOTDEFINE

NOTIMPLAN

NOTINLOOP

NOTINST

NOTORIGSRC

NOTPTR

NOTRACES

NOTRAZERO

NOTRECORD

NOTREE

NOTTASKVAL

NOTUNQOVR

NOTUPDATE

NOTYPEINFO

NOUNIQUE

NOUNIVERSALS

NOUSREVNT

NOVALATPC

NOVALTYP

NOVALUE

NOWATCHES

NOWATTAR

NOWATVARIA

NOWATVARSTG

NOWBPT

NOWILDFIL

NOWOPCO

NULLPTR

NUMCONLONG

NUMTRUNC

OPCDEC

OPNOTALLOW

OPSYNTAX

OUTPUTLOST

PACSIZREQ

PARENREQ

PARSTKOVR

PATHNOTACP

PATHTLONG

PATHTOOLONG

PCNOTALL

PLICVTERR

PROFRANOT

PROMPTCLEN

PROMPTOCCL

PROMPTRLEN

PROVRFLOW

PXCN

QUOSTRLONG

READERR

REGREQ

RENAMENOT

RETURNED

RNDFCTROUT

ROPRANDF

RPCERR

RSTERR

SCALEADD

SCALESUB

SCRTOBIG

SCRTOSMALL

SETKEY

SETKEYERR

SETSCOMOD

SFCNTNEG

SHOKEYERR

SIDEFFECT

SIZEATOMIC

SIZETRUNC

SOURCESCOPE

SPAWNED

SRCLINNOT

SS_INT

STEPINTO

STGTRUNC

STRNGPAD

STRTOOLONG

STRUCSIZE

SUBOUTBND

SUBSCRNG

SUBSTRING

SUPERDEBUG

SYMNOTACT

SYMNOTFND

SYNERREXPR

SYNERRLABEL

SYNERRLINE

SYNTAX

TASKERROR

TASKNOTABORT

TASKNOTACT

TASKNULL

TIMESLICE

TOOFEWSUB

TOOMANDIM

TOOMANERR

TOOMANINV

TOOMANPARM

TOOMANSUB

UNACREDBGO

UNACVT

UNALIGNED

UNALLOCATED

UNAOPEDBGI

UNAOPESCR

UNAOPNHLP

UNAOPNINI

UNAOPNSRC

UNAREASRC

UNASAVVAL

UNASETIMG

UNASETTAS

UNASWISTA

UNBPAREN

UNDEXPN

UNDKEY

UNEXPEXC

UNIMPLENT

UNMTCHPARN

UPBNDOPT

USREVNTERR

VALNOTADDR

VARNESDEP

VERIFYICF

WATCHSIZE

WIDTHDIFF

WORKSTACMD

WPTTRACE

WRITE_FAILED

WRITE_INTO_KERNEL

WRITE_INTO_KERNEL_STACK

ZERLENDST

ZEROINCR

Parameters

V4.2

V4.4

V4.6

V5.0

Display Attributes

Extracting Displays

Key Definitions

Moving Displays

PROMPT Display

Resizing Displays

Vertically Divided Windows

Shareable Images

Window Definitions

ADA-Predefined-Breakpoints

Call-Exception-Break

Nonstatic-Watchpoints

Step-Exception-Break

SET_MODE_SEPARATE

SET_PROMPT

Dynamic Register Display

EXAMINE OPERANDS Qualifier

MACRO Support

Screen Mode Windows

SET MODULE CALLS Qualifier

SPAWN qualifiers

V4.2

V4.4

V4.6

V5.0

Register Windows

Macro-defaults

Basic-defaults

Key Definitions

Register Display

Screen Management

Shareable Images

VAXstations

Window Definitions

SET IMAGE Command

SET SCOPE Command

VAXstation support

Corrected Problems

Dynamic Register Display

MACRO Support

Obsolete Commands

Screen Mode Line Wrapping

VAXstation DEBUG Separate Window Control

Commands

Display Attributes

Display Kinds

Examples

Instruction Display

Keypad

Moving Displays

Predefined Displays

PROMPT Display

Register Display

Resizing Displays

Screen Mode

Scrolling

Source Display

Windows

DEBUG — VMS 5.0

Additional information available:

%LABEL%LINEATTACHCALLCANCELDBG$INITDEBUG
DECLAREDEFINEDELETEDEPOSITDISABLEDISPLAYEDIT
ENABLEEVALUATEEXAMINEEXITEXITLOOPEXPANDEXTRACT
FORGOHELPIFMOVEQUITREPEAT
SAVESCROLLSEARCHSELECTSETSHOWSPAWN
SS$_DEBUGSTEPSYMBOLIZETYPEWHILE

@file-specAddress-exprControlKeypadLanguagesLexicalsMessages
New FeaturesPathnamesRelease NotesScreen Features

@file-spec

     Execute debugger commands from the specified file.  If  you  have
     entered  a  "SET OUTPUT VERIFY", all commands read from a command
     procedure are echoed on the terminal.

     Parameters may be passed in to a command  procedure.   Parameters
     can  be  address  expressions,  language expressions, or strings.
     (Corresponding to the three kinds of DEFINE symbols.) Inside  the
     command  procedure,  the  parameters  get  bound to names via the
     DECLARE command.

 Format:

     @file-spec [ parameter [,parameter...]]

Additional information available:

ExamplesParameters

Examples

     The  following  example  invokes  a  "SETUP"  command  file  that
     establishes  a  particular  set of defaults.  The commands in the
     command file are echoed because of the "SET OUT VERIFY".

     DBG> SET OUT VERIFY
     DBG> @SETUP.COM
     !entering command file SETUP.COM
     ! SET SOURCE [],SRC$
     ! SET MODE SCREEN
     ! SET STEP SILENT
     ! SET RADIX HEX
     !exiting command file SETUP.COM

Parameters

 file-specification

     Specifies  the  command  procedure  to  be  executed.    If   the
     file-specification does not include a file type, the default file
     type .COM is used.  A logical name may  be  given.   The  default
     file  specification  can  be  modified  by  using  the SET ATSIGN
     command.  (See the help on SET ATSIGN).

 parameter

     This can be  an  address  or  value  expression  in  the  current
     language,  or  a quoted string.  It is bound to a name within the
     command procedure by using the DECLARE command.  (See the help on
     DECLARE).

     For example:

     DBG> @DUMP X
     !entering command procedure DUMP.COM
     ! DECLARE P1:ADDRESS
     ! EXAMINE P1
     X: 23
     !exiting command procedure DUMP.COM

Address-expr

     In many of the descriptions in this help library,  you  will  see
     the term "address-expression".  An address-expression specifies a
     location  in  your  program.   Commands   that   expect   address
     expressions  are:   EXAMINE,  EVALUATE/ADDRESS, left-hand-side of
     DEPOSIT, SET BREAK, SET TRACE, and SET WATCH.

     In general, you can specify addresses using  the  syntax  of  the
     currently set language.  For example,

     DBG> EXAMINE A(1)     ! FORTRAN
     DBG> SET WATCH A[1]   ! PASCAL
     DBG> EXAMINE C OF R   ! COBOL

     In addition, you can specify addresses numerically, and  you  can
     also  use  the built-in symbols %LINE and %LABEL for referring to
     code locations:

     DBG> EXAMINE 512
     DBG> SET BREAK %LINE 10

     Finally, you can use the following operators to specify addresses
     that you might not be able to get to by name:

     + - * /     Arithmetic operators
     @ or .      Indirection
     <p,s>       Select bit field

     ! Examine the instruction 3 bytes after line 10
     DBG> EXAMINE %LINE 10 + 3
     ! Examine the location pointed to by P
     DBG> EXAMINE @P

     The  difference  between   address   expressions   and   language
     expressions can best be illustrated by an example:

     DBG> EVAL/ADDR X
     512
     DBG> EXAM X
     X: 0
     DBG> EVAL X+1   ! Language expression: adds 0+1
     1
     DBG> EXAM X+1      ! Address expression: 1 byte beyond X
     513: 0


Control

 Format:

     <CTRL/C>
     <CTRL/Y>
     <CTRL/Z>

Additional information available:

Key

Key

     Pressing CTRL/Y interrupts either your program  or  the  debugger
     (whichever  was  running)  and brings you back to the DCL prompt.
     You can then enter the DCL command "DEBUG" to  get  back  to  the
     "DBG>"  prompt.   This  mechanism (CTRL/Y, DEBUG) is the means by
     which you can interrupt a  program  that  is  in  a  loop,  or  a
     debugger  command  that  is  taking  an inordinately long time to
     execute.

     You can also use CTRL/C for this purpose.  Its effect is  usually
     the same as for CTRL/Y.  The only difference is that your program
     may have a CTRL/C handler which will get invoked upon a CTRL/C.

     Note that the CTRL/Y  -  DEBUG  sequence  may  also  be  used  to
     interrupt  a program that was initially run without the debugger,
     and then bring in the debugger.

     Pressing CTRL/Z  causes  orderly  termination  of  the  debugging
     session.  It is identical in effect to the EXIT command.

 Example:

     DBG> WHILE TRUE DO (EXAMINE)
     ..
     CTRL/Y         ! Interrupt infinite loop
     $ DEBUG        ! Get back to debugger prompt
     DBG>

Keypad

     On VT100s and other Digital terminals, you can  use  the  numeric
     keypad  to  enter  Debugger  commands provided you are in "keypad
     mode".  Keypad mode is set by default, but can  be  disabled  and
     enabled  by  the  commands SET MODE NOKEYPAD and SET MODE KEYPAD.
     In keypad mode, each defined keypad key  expands  to  a  Debugger
     command.   Some  keys  are  "terminated", meaning that the corre-
     sponding command is executed immediately, while  others  are  not
     terminated,  meaning  that you can enter additional parameters to
     the command before terminating it with a carriage return  or  the
     ENTER  key.  Also, some keys echo on the terminal while others do
     not, depending on the key.  You can define your own keypad  defi-
     nitions with the DEFINE/KEY command.

Additional information available:

DEFAULTGOLDBLUEMOVE_DEFAULTEXPAND_DEFAULT
CONTRACT_DEFAULTMOVE_GOLDEXPAND_GOLDCONTRACT_GOLD
MOVE_BLUEEXPAND_BLUECONTRACT_BLUESUMMARY

State keys

DEFAULT

Keypad definitions when you do       +--------+--------+--------+--------+
not use a color key.                 |        |  Help  |  Set   |        |
                                     |  GOLD  | Keypad |  Mode  |  BLUE  |
For more keypad help, enter HELP     |        | Deflt  | Screen |        |
KEYPAD GOLD, HELP KEYPAD BLUE        +--------+--------+--------+--------+
or HELP KEYPAD STATE_KEYS.           | Src LH1|        |        |  Disp  |
                                     |Inst RH1| Scroll |  Disp  |  next  |
Control-W does a Display/Refresh     | Out S45|   Up   |  next  | S12345 |
to refresh screen in screen mode.    +--------+--------+--------+--------+
                                     |        |  Exam  |        |        |
                                     | Scroll | Source | Scroll |   Go   |
                                     |  Left  | .0\%PC | Right  |        |
                                     +--------+--------+--------+--------+
                                     |        |        | Select |        |
                                     |  Exam  | Scroll | Scroll |   E    |
                                     |        |  Down  |  next  |   N    |
                                     +--------+--------+--------+   T    |
                                     |                 |        |   E    |
                                     |      Step       | Reset  |   R    |
                                     |                 |        |        |
                                     +-----------------+--------+--------+

GOLD

Keypad definitions when you          +--------+--------+--------+--------+
press the GOLD key first.            |        |  Help  | SetMod |        |
                                     |  GOLD  | Keypad |   No   |  BLUE  |
Reset cancels the GOLD key.          |        |  Gold  | Screen |        |
                                     +--------+--------+--------+--------+
For more keypad help, enter HELP     |Inst LH1|        |        |        |
KEYPAD BLUE, HELP KEYPAD DEFAULT     | Reg RH1| Scroll |        |        |
or HELP KEYPAD STATE_KEYS.           | Out S45|  Top   |        |        |
                                     +--------+--------+--------+--------+
Control-W does a Display/Refresh     | Scroll |        | Scroll |        |
to refresh screen in screen mode.    |  Left  |  Show  | Right  |        |
                                     |  255   |  Calls |  255   |        |
                                     +--------+--------+--------+--------+
                                     |  Exam  |        | Select |        |
                                     |  prev  | Scroll | Output |   E    |
                                     |        | Bottom |  next  |   N    |
                                     +--------+--------+--------+   T    |
                                     |                 |        |   E    |
                                     |    Step/Into    | Reset  |   R    |
                                     |                 |        |        |
                                     +-----------------+--------+--------+

BLUE

Keypad definitions when you          +--------+--------+--------+--------+
press the BLUE key first.            |        |  Help  |        |        |
                                     |  GOLD  | Keypad |  Disp  |  BLUE  |
"..." means that you must enter      |        |  Blue  |  Gener |        |
more input after pressing key.       +--------+--------+--------+--------+
                                     |        | Scroll |        |  Disp  |
Reset cancels the BLUE key.          |        |   Up   |        | Src H1 |
                                     |        |  ...   |        | Out S45|
For more keypad help, enter HELP     +--------+--------+--------+--------+
KEYPAD GOLD, HELP KEYPAD DEFAULT     | Scroll |  Show  | Scroll | Select |
or HELP KEYPAD STATE_KEYS.           |  Left  |  Calls | Right  |  Inst  |
                                     |  ...   |   3    |  ...   |  next  |
Control-W does a Display/Refresh     +--------+--------+--------+--------+
to refresh screen in screen mode.    |        | Scroll | Select |        |
                                     |        |  Down  | Source |   E    |
                                     |        |  ...   |  next  |   N    |
                                     +--------+--------+--------+   T    |
                                     |                 |        |   E    |
                                     |    Step/Over    | Reset  |   R    |
                                     |                 |        |        |
                                     +-----------------+--------+--------+

MOVE_DEFAULT

Keypad definitions in the MOVE       +--------+--------+--------+--------+
state when you do not use a color    |        |  Help  |  Set   |        |
key.                                 |  GOLD  | Keypad |  Mode  |  BLUE  |
                                     |        |MovDeflt| Screen |        |
For more keypad help, enter HELP     +--------+--------+--------+--------+
KEYPAD GOLD, HELP KEYPAD BLUE        | Src LH1|        |        |  Disp  |
or HELP KEYPAD STATE_KEYS.           |Inst RH1|  Move  |  Disp  |  next  |
                                     | Out S45|   Up   |  next  | S12345 |
Control-W does a Display/Refresh     +--------+--------+--------+--------+
to refresh screen in screen mode.    |        |  Exam  |        |        |
                                     |  Move  | Source |  Move  |   Go   |
                                     |  Left  | .0\%PC |  Right |        |
                                     +--------+--------+--------+--------+
                                     |        |        | Select |        |
                                     |  Exam  |  Move  | Scroll |   E    |
                                     |        |  Down  |  next  |   N    |
                                     +--------+--------+--------+   T    |
                                     |                 |        |   E    |
                                     |      Step       | Reset  |   R    |
                                     |                 |        |        |
                                     +-----------------+--------+--------+

EXPAND_DEFAULT

Keypad definitions in the EXPAND     +--------+--------+--------+--------+
state when you do not use a color    |        |  Help  |  Set   |        |
key.                                 |  GOLD  | Keypad |  Mode  |  BLUE  |
                                     |        |ExpDeflt| Screen |        |
For more keypad help, enter HELP     +--------+--------+--------+--------+
KEYPAD GOLD, HELP KEYPAD BLUE        | Src LH1|        |        |  Disp  |
or HELP KEYPAD STATE_KEYS.           |Inst RH1| Expand |  Disp  |  next  |
                                     | Out S45|   Up   |  next  | S12345 |
Control-W does a Display/Refresh     +--------+--------+--------+--------+
to refresh screen in screen mode.    |        |  Exam  |        |        |
                                     | Expand | Source | Expand |   Go   |
                                     |  Left  | .0\%PC | Right  |        |
                                     +--------+--------+--------+--------+
                                     |        |        | Select |        |
                                     |  Exam  | Expand | Scroll |   E    |
                                     |        |  Down  |  next  |   N    |
                                     +--------+--------+--------+   T    |
                                     |                 |        |   E    |
                                     |      Step       | Reset  |   R    |
                                     |                 |        |        |
                                     +-----------------+--------+--------+

CONTRACT_DEFAULT

Keypad definitions in the CONTRACT   +--------+--------+--------+--------+
state when you do not use a color    |        |  Help  |  Set   |        |
key.                                 |  GOLD  | Keypad |  Mode  |  BLUE  |
                                     |        |CntDeflt| Screen |        |
For more keypad help, enter HELP     +--------+--------+--------+--------+
KEYPAD GOLD, HELP KEYPAD BLUE        | Src LH1| Expand |        |  Disp  |
or HELP KEYPAD STATE_KEYS.           |Inst RH1|   Up=  |  Disp  |  next  |
                                     | Out S45|   -1   |  next  | S12345 |
Control-W does a Display/Refresh     +--------+--------+--------+--------+
to refresh screen in screen mode.    | Expand |  Exam  | Expand |        |
                                     |  Left= | Source | Right= |   Go   |
                                     |   -1   | .0\%PC |   -1   |        |
                                     +--------+--------+--------+--------+
                                     |        | Expand | Select |        |
                                     |  Exam  |  Down= | Scroll |   E    |
                                     |        |   -1   |  next  |   N    |
                                     +--------+--------+--------+   T    |
                                     |                 |        |   E    |
                                     |      Step       | Reset  |   R    |
                                     |                 |        |        |
                                     +-----------------+--------+--------+

MOVE_GOLD

Keypad definitions in the MOVE       +--------+--------+--------+--------+
state when you press the GOLD key    |        |  Help  | SetMod |        |
first.                               |  GOLD  | Keypad |   No   |  BLUE  |
                                     |        |MoveGold| Screen |        |
Reset cancels the GOLD key.          +--------+--------+--------+--------+
                                     |Inst LH1|  Move  |        |        |
For more keypad help, enter HELP     | Reg RH1|   Up=  |        |        |
KEYPAD BLUE, HELP KEYPAD DEFAULT     | Out S45|   999  |        |        |
or HELP KEYPAD STATE_KEYS.           +--------+--------+--------+--------+
                                     |  Move  |        |  Move  |        |
Control-W does a Display/Refresh     |  Left= |  Show  | Right= |        |
to refresh screen in screen mode.    |   999  |  Calls |   999  |        |
                                     +--------+--------+--------+--------+
                                     |  Exam  |  Move  | Select |        |
                                     |  prev  |  Down= | Output |   E    |
                                     |        |   999  |  next  |   N    |
                                     +--------+--------+--------+   T    |
                                     |                 |        |   E    |
                                     |    Step/Into    | Reset  |   R    |
                                     |                 |        |        |
                                     +-----------------+--------+--------+

EXPAND_GOLD

Keypad definitions in the EXPAND     +--------+--------+--------+--------+
state when you press the GOLD key    |        |  Help  | SetMod |        |
first.                               |  GOLD  | Keypad |   No   |  BLUE  |
                                     |        |ExpaGold| Screen |        |
Reset cancels the GOLD key.          +--------+--------+--------+--------+
                                     |Inst LH1| Expand |        |        |
For more keypad help, enter HELP     | Reg RH1|   Up=  |        |        |
KEYPAD BLUE, HELP KEYPAD DEFAULT     | Out S45|   999  |        |        |
or HELP KEYPAD STATE_KEYS.           +--------+--------+--------+--------+
                                     | Expand |        | Expand |        |
Control-W does a Display/Refresh     |  Left= |  Show  | Right= |        |
to refresh screen in screen mode.    |   999  |  Calls |   999  |        |
                                     +--------+--------+--------+--------+
                                     |  Exam  | Expand | Select |        |
                                     |  prev  |  Down= | Output |   E    |
                                     |        |   999  |  next  |   N    |
                                     +--------+--------+--------+   T    |
                                     |                 |        |   E    |
                                     |    Step/Into    | Reset  |   R    |
                                     |                 |        |        |
                                     +-----------------+--------+--------+

CONTRACT_GOLD

Keypad definitions in the CONTRACT   +--------+--------+--------+--------+
state when you press the GOLD key    |        |  Help  | SetMod |        |
first.                               |  GOLD  | Keypad |   No   |  BLUE  |
                                     |        |CntrGold| Screen |        |
Reset cancels the GOLD key.          +--------+--------+--------+--------+
                                     |Inst LH1| Expand |        |        |
For more keypad help, enter HELP     | Reg RH1|   Up=  |        |        |
KEYPAD BLUE, HELP KEYPAD DEFAULT     | Out S45|  -999  |        |        |
or HELP KEYPAD STATE_KEYS.           +--------+--------+--------+--------+
                                     | Expand |        | Expand |        |
Control-W does a Display/Refresh     |  Left= |  Show  | Right= |        |
to refresh screen in screen mode.    |  -999  |  Calls |  -999  |        |
                                     +--------+--------+--------+--------+
                                     |  Exam  | Expand | Select |        |
                                     |  prev  |  Down= | Output |   E    |
                                     |        |  -999  |  next  |   N    |
                                     +--------+--------+--------+   T    |
                                     |                 |        |   E    |
                                     |    Step/Into    | Reset  |   R    |
                                     |                 |        |        |
                                     +-----------------+--------+--------+

MOVE_BLUE

Keypad definitions in the MOVE       +--------+--------+--------+--------+
state when you press the BLUE key    |        |  Help  |        |        |
first.                               |  GOLD  | Keypad |  Disp  |  BLUE  |
                                     |        |MoveBlue|  Gener |        |
"..." means that you must enter      +--------+--------+--------+--------+
more input after pressing key.       |        |        |        |  Disp  |
                                     |        |  Move  |        | Src H1 |
Reset cancels the BLUE key.          |        |  Up=5  |        | Out S45|
                                     +--------+--------+--------+--------+
For more keypad help, enter HELP     |        |  Show  |        | Select |
KEYPAD GOLD, HELP KEYPAD DEFAULT     |  Move  |  Calls |  Move  |  Inst  |
or HELP KEYPAD STATE_KEYS.           | Left=10|   3    |Right=10|  next  |
                                     +--------+--------+--------+--------+
Control-W does a Display/Refresh     |        |        | Select |        |
to refresh screen in screen mode.    |        |  Move  | Source |   E    |
                                     |        | Down=5 |  next  |   N    |
                                     +--------+--------+--------+   T    |
                                     |                 |        |   E    |
                                     |    Step/Over    | Reset  |   R    |
                                     |                 |        |        |
                                     +-----------------+--------+--------+

EXPAND_BLUE

Keypad definitions in the EXPAND     +--------+--------+--------+--------+
state when you press the BLUE key    |        |  Help  |        |        |
first.                               |  GOLD  | Keypad |  Disp  |  BLUE  |
                                     |        |ExpaBlue|  Gener |        |
"..." means that you must enter      +--------+--------+--------+--------+
more input after pressing key.       |        |        |        |  Disp  |
                                     |        | Expand |        | Src H1 |
Reset cancels the BLUE key.          |        |  Up=5  |        | Out S45|
                                     +--------+--------+--------+--------+
For more keypad help, enter HELP     |        |  Show  |        | Select |
KEYPAD GOLD, HELP KEYPAD DEFAULT     | Expand |  Calls | Expand |  Inst  |
or HELP KEYPAD STATE_KEYS.           | Left=10|   3    |Right=10|  next  |
                                     +--------+--------+--------+--------+
Control-W does a Display/Refresh     |        |        | Select |        |
to refresh screen in screen mode.    |        | Expand | Source |   E    |
                                     |        | Down=5 |  next  |   N    |
                                     +--------+--------+--------+   T    |
                                     |                 |        |   E    |
                                     |    Step/Over    | Reset  |   R    |
                                     |                 |        |        |
                                     +-----------------+--------+--------+

CONTRACT_BLUE

Keypad definitions in the CONTRACT   +--------+--------+--------+--------+
state when you press the BLUE key    |        |  Help  |        |        |
first.                               |  GOLD  | Keypad |  Disp  |  BLUE  |
                                     |        |CntrBlue|  Gener |        |
"..." means that you must enter      +--------+--------+--------+--------+
more input after pressing key.       |        | Expand |        |  Disp  |
                                     |        |   Up=  |        | Src H1 |
Reset cancels the BLUE key.          |        |   -5   |        | Out S45|
                                     +--------+--------+--------+--------+
For more keypad help, enter HELP     | Expand |  Show  | Expand | Select |
KEYPAD GOLD, HELP KEYPAD DEFAULT     |  Left= |  Calls | Right= |  Inst  |
or HELP KEYPAD STATE_KEYS.           |  -10   |   3    |  -10   |  next  |
                                     +--------+--------+--------+--------+
Control-W does a Display/Refresh     |        | Expand | Select |        |
to refresh screen in screen mode.    |        |  Down= | Source |   E    |
                                     |        |   -5   |  next  |   N    |
                                     +--------+--------+--------+   T    |
                                     |                 |        |   E    |
                                     |    Step/Over    | Reset  |   R    |
                                     |                 |        |        |
                                     +-----------------+--------+--------+

State keys

     The four scrolling keys (KP8, KP2, KP4, and KP6) can also be used
     to expand, contract, and move displays.  Just as they can perform
     a SCROLL /UP, /DOWN, /LEFT, or /RIGHT, they  can  now  perform  a
     MOVE,  etc.   in  those  directions as well.  The GOLD key can be
     used to cause the operation to advance  more  than  one  line  or
     column.   The  commands  are  directed  at  the current scrolling
     display.  The key KP3 can be used to select the current scrolling
     display from the display circular list.

     Four keys on the LK201 keyboard  are  used  to  facilitate  this.
     They  place  the  numeric  keypad  in  one  of the following four
     states:  DEFAULT,  MOVE,  EXPAND,  CONTRACT.   This  changes  the
     definition  of  the  keys KP8, KP2, KP4, and KP6.  The meaning of
     all other keys remains unchanged.

     For example, in the MOVE state (F18), pressing the key  KP2  will
     cause the default scrolling display to move down by one character
     position.  Pressing GOLD KP2 will cause the display to move  down
     by  a larger increment.  The keypad will remain in the MOVE state
     until  another  state,  such  as  the  DEFAULT  state  (F17),  is
     selected.  This restores the definition of the SCROLL operation.

     If you do not have an LK201 keyboard with the F17-F20 keys on it,
     you may get the same effect by typing the corresponding command:


                                         F17      F18      F19      F20
     SET KEY/STATE=DEFAULT     or    +--------+--------+--------+--------+
     SET KEY/STATE=MOVE              |        |        |        |        |
     SET KEY/STATE=EXPAND            | DEFAULT|  MOVE  | EXPAND |CONTRACT|
     SET KEY/STATE=CONTRACT          |        |        |        |        |
                                     +--------+--------+--------+--------+

SUMMARY

Summary of debugger key definitions. +--------+--------+--------+--------+
                                     |        |        |        |        |
For more keypad help, enter HELP     |  GOLD  |  Help  | Screen |  BLUE  |
KEYPAD DEFAULT, HELP KEYPAD GOLD,    |        |        |  Mode  |        |
HELP KEYPAD BLUE, or HELP KEYPAD     +--------+--------+--------+--------+
STATE_KEYS.                          | Select |        |        |  Disp  |
                                     | Screen |   Up   |  Disp  |  next  |
Control-W does a Display/Refresh     | Layout |        |  next  |  at FS |
to refresh screen in screen mode.    +--------+--------+--------+--------+
                                     |        |        |        |        |
                                     |  Left  | Where  | Right  |   Go   |
                                     |        | am I?  |        |        |
                                     +--------+--------+--------+--------+
                                     |        |        |        |        |
                                     |  Exam  |  Down  | Select |   E    |
                                     |        |        |  next  |   N    |
                                     +--------+--------+--------+   T    |
                                     |                 |        |   E    |
                                     |      Step       | Reset  |   R    |
                                     |                 |        |        |
                                     +-----------------+--------+--------+

Languages

     This section gives help on each of the languages supported by the
     debugger.   The  help  information  includes  tables saying which
     language operators and data types are supported by  the  debugger
     in language expressions (for example, in the EVALUATE command).

Additional information available:

ADABASICBLISSCCCOBOLDIBOLFORTRAN
MACROPASCALPLIRPGSCANUNKNOWN

ADA

     The debugger completely supports  the  ADA  language.   It  knows
     about  ADA  names,  operators,  and  data  types  when evaluating
     expressions in an EXAMINE or EVALUATE command.   It  knows  about
     ADA  packages,  with  clauses,  and  use clauses, and follows ADA
     scoping rules when looking up symbols.  There are a large  number
     of   special-purpose   commands   to  support  debugging  of  ADA
     multitasking programs and ADA exception events.

Additional information available:

Data TypesEventsExceptionsMultitaskingOperatorsNamesOverloading
PackagesSubunitsTick Operators

Data Types

     Supported ADA Data Types

     Integer
     Float
     Fixed
     Enumeration
     Arrays
     Records
     Pointers
     Tasks

Events

     The debugger allows you to set breakpoints and tracepoints (known
     generically   as   "eventpoints")  on  certain  types  of  events
     occurring during the execution of your program which are  defined
     and  detected  by  the  Ada RTL.  These events would otherwise be
     very difficult (or impossible) for you to set a breakpoint on.

     They fall  into  two  broad  categories:   exception  events  and
     tasking  events.  Exception events allow you to break or trace on
     any exception that is about to be handled  by  an  Ada  exception
     handler.  They are applicable to any Ada program.  Tasking events
     deal specifically with multitasking programs.  They allow you  to
     break  or  trace on task scheduling, termination, and other state
     transitions.

Additional information available:

CommandsEvent parametersExamples

Commands

     To tell debugger to use  the  Ada  RTL  as  the  event  detection
     facility   for   succeeding   commands,  type  the  command  "SET
     EVENT_FACILITY ADA"

     To see what the run time event facility is and what  the  defined
     events are, type the command "SHOW EVENT_FACILITY".

     To set an eventpoint for the Ada RTL to detect, use the  commands
     "SET BREAK/EVENT=keyword" or "SET TRACE/EVENT=keyword".

     To display the eventpoints you have set, use the  commands  "SHOW
     BREAK" or "SHOW TRACE".

     To   remove   the   eventpoints   use   the   commands    "CANCEL
     BREAK/EVENT=keyword" or "CANCEL TRACE/EVENT=keyword"

Event parameters

     Generally, the SET BREAK/EVENT and SET TRACE/EVENT  commands  can
     take  parameters  which  may  be  either  address  expressions or
     language expressions.  For Ada, the allowed parameters  are  task
     names.    Parameters   are  optional;  omitting  them  implies  a
     "wildcard" as a parameter.

Examples

     Initialize the debugger for Ada events:

         DBG> SET EVENT_FACILITY ADA

     Display the defined event names:

         DBG> SHOW EVENT_FACILITY
         event facility is ADA
         Ada event names and definitions:
         ...

     Set a breakpoint that is  triggered  whenever  any  exception  is
     handled by an Ada exception handler:

         DBG> SET BREAK/EVENT=HANDLED
         DBG> GO
          ...
         break on Ada event HANDLED in %TASK 1
         task %TASK 1 is about to handle an exception
         the Ada exception handler is at: SCREEN_IO.%LINE 36
              %ADA, Exception was copied at a "raise" or "accept".
              Error PC=0000F60B
              -ADA, Exception BAD_INPUT
              -ADA, Exception raised prior to PC=00000670

     Set two tracepoints that are triggered when either task GAMMA  or
     %TASK  1  respectively, make a transition to the RUN state.  When
     the event is triggered, display information about all  the  tasks
     in the program:

         DBG> SET TRACE/EVENT=RUN GAMMA, %TASK 1  DO (SHOW TASK/ALL)
         DBG> GO
         trace on ADA event RUN in %TASK 1
         task %TASK 1 is about to run
           task id     pri hold state   substate          task object
         * %TASK 1      7       RUN                     81600
           %TASK 2      7       READY                   SAMPLE.ALPHA
           %TASK 3      7       READY                   SAMPLE.BETA
           %TASK 4      7       READY                   SAMPLE.GAMMA
           %TASK 5      7       READY                   SAMPLE.DELTA
         trace on ADA event RUN in %TASK 4
         task %TASK 4 is about to run
           task id     pri hold state   substate          task object
           %TASK 1      7       SUSP  Dependents        81600
           %TASK 2      7       READY                   SAMPLE.ALPHA
           %TASK 3      7       READY                   SAMPLE.BETA
         * %TASK 4      7       RUN                     SAMPLE.GAMMA
           %TASK 5      7       READY                   SAMPLE.DELTA

     Set a breakpoint that is triggered whenever any task  enters  the
     TERMINATED   state.    When   the  event  is  triggered,  display
     information about all the tasks in the program:

         DBG> SET BREAK/EVENT=TERMINATED  DO (SHOW TASK/ALL)
         DBG> GO
         break on ADA event TERMINATED in %TASK 5
         task %TASK 5 is terminating normally.
           task id     pri hold state   substate          task object
           %TASK 1      7       READY                   81600
           %TASK 2      7       READY                   SAMPLE.ALPHA
           %TASK 3      7       READY                   SAMPLE.BETA
           %TASK 4      7       READY                   SAMPLE.GAMMA
         * %TASK 5      7       RUN   Terminated        SAMPLE.DELTA
         DBG> GO
         break on ADA event TERMINATED in %TASK 4
         task %TASK 4 is terminating normally.
           task id     pri hold state   substate          task object
           %TASK 1      7       READY                   81600
           %TASK 2      7       READY                   SAMPLE.ALPHA
           %TASK 3      7       READY                   SAMPLE.BETA
         * %TASK 4      7       RUN   Terminated        SAMPLE.GAMMA
           %TASK 5      7       TERM  Terminated        SAMPLE.DELTA


Exceptions

     The debugger  provides  built-in  lexical  functions  to  provide
     information  about  the  current exception.  See the HELP text on
     "Lexical %ADAEXC" for Ada specific exceptions and "Lexical  %EXC"
     for non-Ada specific exceptions.

     Also see "Languages ADA Events" for information on  Ada  specific
     exception  events  and "SET BREAK/EXCEPTION" for non-Ada specific
     exceptions events.

Multitasking

     The debugger has a large number of commands to help you debug ADA
     multitasking programs:

     SHOW TASK -- lets you  observe  the  state  of  the  multitasking
     system.

     SET TASK -- lets you alter the state of the multitasking system.

     SET BREAK/EVENT and SET TRACE/EVENT -- lets you  set  breakpoints
     on tasking events of interest to you.

     The  HELP  text  for  these  commands   will   provide   detailed
     information.   Also  see the support for tasking events described
     under "Language Ada EVENTS".

Operators

     Supported ADA Operators in Expressions

        Kind   Symbol   Function
       ------  ------   --------
       Prefix    +      Unary plus
       Prefix    -      Unary minus (negation)
       Infix     +      Addition
       Infix     -      Subtraction
       Infix     *      Multiplication
       Infix     /      Division
       Infix    MOD     Modulus
       Infix    REM     Remainder
       Infix     **     Exponentiation
       Prefix   ABS     Absolute value
       Infix     &      Concatenation
       Infix     =      Equal to
       Infix     /=     Not equal to
       Infix     >      Greater than
       Infix     >=     Greater than or equal to
       Infix     <      Less than
       Infix     <=     Less than or equal to
       Prefix   NOT     Logical NOT
       Infix    AND     Logical AND
       Infix    OR      Logical OR
       Infix    XOR     Logical Exclusive OR

Names

     Supported Constructs for ADA names

       Symbol    Construct
       ------    ---------
        ( )      Subscripting
         .       Record component selection
        .ALL     Pointer dereferencing

Overloading

     If a function F is overloaded, then the debugger invents names of
     the  form  F__1,  F__2,  and  so  on,  to refer to the individual
     instances of the overloaded function.  You  can  find  out  about
     these names as follows:

     DBG> SET BREAK F
     %DEBUG-W-NOUNIQUE, F is not unique due to overloading
     DBG> SHOW SYMBOL F
     Overloaded function F
        Overloaded instance F__1
        Overloaded instance F__2
     DBG> SET BREAK F__1

     The "SEARCH" command and the "EXAMINE/SOURCE" command may also be
     useful  in locating the source associated with the definitions of
     F.

Packages

     The debugger knows about ADA packages, and  follows  ADA  scoping
     rules  (that  is,  takes  into account WITH and USE clauses) when
     looking up symbols.

     Library packages are treated as  modules  that  can  be  set  and
     cancelled  individually.  If the library package has a spec and a
     body then each has its own module.  If the package name  is  "P",
     then  the module for the package body has the name "P", while the
     module with the package spec gets the name "P_".  Set the  module
     "P_"  to  make  visible  the names declared in the spec.  Set the
     module "P" to make visible the names local to the body.

     The debugger will sometimes set package spec modules for you,  in
     order  to  be able to correctly follow ADA's scoping rules during
     symbol lookup.  See  the  help  on  "SET  MODULE/RELATED",  "SHOW
     MODULE/RELATED" for details.

     Example:

     package P is
         ...
         end P;
     package body P is
         ...
         end P;

     with P;
     procedure M is
         ...
         end M;

     DBG> SHOW MODULE
     module name     symbols
     M               no
     P               no
     P_              no
     DBG> SET MODULE M
     module name     symbols
     M               yes
     P               no
     P_              yes


Subunits

     The debugger knows about ADA subunits.  A subunit is treated as a
     debugger  module.   If  S  is  a  subunit  of  M, then the module
     containing S has the  invented  name  M__S.   It  has  a  special
     relationship  with  the  parent module M:  if you set the subunit
     module M__S, then  the  parent  module  M  is  also  set  by  the
     debugger.  This is done in order to make visible symbols that are
     up-level referenced.

     Example:

     procedure M is
        ...
        procedure S is separate;
        ...
        end M;

     separate(M);
     procedure S is
        begin
        ...
        end;

     DBG> SHOW MODULE
     module name     symbols
     M               no
     M__S            no
     DBG> SET MODULE S
     DBG> SHOW MODULE
     module name     symbols
     M               yes
     M__S            no


Tick Operators

      Supported ADA "Tick Operators"

     'CONSTRAINED
     'FIRST
     'LAST
     'LENGTH
     'POS
     'PRED
     'SIZE
     'SUCC
     'VAL

     Example:

     DBG> EVAL DAY'SUCC(MONDAY)
     TUESDAY

BASIC

     Debugger Support for Language BASIC

Additional information available:

OperatorsExpressionsData TypesNotes

Operators

     Supported BASIC Operators in Language Expressions

        Kind   Symbol   Function
       ------  ------   --------
       Prefix    +      Unary plus
       Prefix    -      Unary minus (negation)
       Infix     +      Addition, String concatenation
       Infix     -      Subtraction
       Infix     *      Multiplication
       Infix     /      Division
       Infix     **     Exponentiation
       Infix     ^      Exponentiation
       Infix     =      Equal to
       Infix     <>     Not equal to
       Infix     ><     Not equal to
       Infix     >      Greater than
       Infix     >=     Greater than or equal to
       Infix     =>     Greater than or equal to
       Infix     <      Less than
       Infix     >=     Less than or equal to
       Infix     =>     Less than or equal to
       Prefix   NOT     Bit-wise NOT
       Infix    AND     Bit-wise AND
       Infix    OR      Bit-wise OR
       Infix    XOR     Bit-wise exclusive OR
       Infix    IMP     Bit-wise implication
       Infix    EQV     Bit-wise equivalence

Expressions

Supported Constructs in Language and Address Expressions for BASIC

       Symbol    Construct
       ------    ---------
         ( )     Subscripting
         ::      Record component selection

Data Types

     Supported BASIC Data Types

     BYTE            HFLOAT
     WORD            DECIMAL
     LONG            STRING
     SINGLE          RFA
     DOUBLE          Arrays
     GFLOAT          Records

Notes

Expressions that overflow in the BASIC language will  not  necessarily
overflow  when  evaluated  by  the debugger.  The debugger will try to
compute a numerically correct result, even when the BASIC  rules  call
for  overflows.   This  difference  is  particularly  likely to affect
DECIMAL computations.

BASIC constants of the forms  [radix]"numeric-string"[type]  (such  as
"12.34"GFLOAT) or n% (such as 25% for integer 25) are not supported in
debugger expressions.

BLISS

     Debugger Support for Language BLISS

Additional information available:

OperatorsExpressionsData Types

Operators

     Supported BLISS Operators in Language Expressions

        Kind   Symbol   Function
       ------  ------   --------
       Prefix    .      Indirection
       Prefix    +      Unary plus
       Prefix    -      Unary minus (negation)
       Infix     +      Addition
       Infix     -      Subtraction
       Infix     *      Multiplication
       Infix     /      Division
       Infix    MOD     Remainder
       Infix     ^      Left shift
       Infix    EQL     Equal to
       Infix    EQLU    Equal to
       Infix    EQLA    Equal to
       Infix    NEQ     Not equal to
       Infix    NEQU    Not equal to
       Infix    NEQA    Not equal to
       Infix    GTR     Greater than
       Infix    GTRU    Greater than unsigned
       Infix    GTRA    Greater than unsigned
       Infix    GEQ     Greater than or equal to
       Infix    GEQU    Greater than or equal to unsigned
       Infix    GEQA    Greater than or equal to unsigned
       Infix    LSS     Less than
       Infix    LSSU    Less than unsigned
       Infix    LSSA    Less than unsigned
       Infix    LEQ     Less than or equal to
       Infix    LEQU    Less than or equal to unsigned
       Infix    LEQA    Less than or equal to unsigned
       Prefix   NOT     Bit-wise NOT
       Infix    AND     Bit-wise AND
       Infix    OR      Bit-wise OR
       Infix    XOR     Bit-wise exclusive OR
       Infix    EQV     Bit-wise equivalence

Expressions

Supported Constructs in Language and Address Expressions for BLISS

       Symbol      Construct
       ------      ---------
        [ ]        Subscripting
       [fldname]   Field selection
       <p,s,e>     Bit field selection


Data Types

     Supported BLISS Data Types

     BYTE            BITVECTOR
     WORD            BLOCK
     LONG            BLOCKVECTOR
     BYTE UNSIGNED   REF VECTOR
     WORD UNSIGNED   REF BITVECTOR
     LONG UNSIGNED   REF BLOCK
     VECTOR          REF BLOCKVECTOR

CC

     Debugger Support for Language C

Additional information available:

OperatorsExpressionsData TypesNotes

Operators

     Supported C Operators in Language Expressions

        Kind   Symbol   Function
       ------  ------   --------
       Prefix    *      Indirection
       Prefix    &      Address of
       Prefix  SIZEOF   Size of
       Prefix    -      Unary minus (negation)
       Infix     +      Addition
       Infix     -      Subtraction
       Infix     *      Multiplication
       Infix     /      Division
       Infix     %      Remainder
       Infix     <<     Left shift
       Infix     >>     Right shift
       Infix     ==     Equal to
       Infix     !=     Not equal to
       Infix     >      Greater than
       Infix     >=     Greater than or equal to
       Infix     <      Less than
       Infix     <=     Less than or equal to
       Prefix    ~      Bit-wise NOT
       Infix     &      Bit-wise AND
       Infix     |      Bit-wise OR
       Infix     ^      Bit-wise exclusive OR
       Prefix    !      Logical NOT
       Infix     &&     Logical AND
       Infix     ||     Logical OR

Expressions

Supported Constructs in Language and Address Expressions for C

       Symbol    Construct
       ------    ---------
        [ ]      Subscripting
         .       Structure component selection
         ->      Pointer dereferencing

Data Types

     Supported C Data Types

     INT                     DOUBLE
     SHORT INT               ENUM
     UNSIGNED INT            STRUCT
     UNSIGNED SHORT INT      UNION
     CHAR                    Pointers
     UNSIGNED CHAR           Arrays
     FLOAT

Notes

Symbol  names  are  case-sensitive  for  language  C,   meaning   that
upper-case and lower-case letters are treated as different characters.

Since the exclamation point (!) is an operator in C, it cannot be used
as the comment delimiter.  When the language is set to C, the debugger
instead accepts /* as the comment delimiter.  The comment continues to
the  end  of  the  current line.  (A matching */ is neither needed nor
recognized.) To permit debugger log  files  to  be  used  as  debugger
input,  the  debugger still recognizes !  as a comment delimiter if it
is the first non-blank character on a line.

The debugger  accepts  the  prefix  asterisk  (*)  as  an  indirection
operator   in   both  C  language  expressions  and  debugger  address
expressions.  In address expressions,  prefix  "*"  is  synonymous  to
prefix "." or "@" when the language is set to C.

The debugger does not support any of the assignment operators in C (or
any  other  language)  in order to prevent unintended modifications to
the program being debugged.  Hence such operators as =,  +=,  -=,  ++,
and  --  are  not  recognized.  If you wish to alter the contents of a
memory location, you must do so with an explicit DEPOSIT command.

COBOL

     Debugger Support for Language COBOL

Additional information available:

OperatorsExpressionsData TypesNotes

Operators

     Supported COBOL Operators in Language Expressions

        Kind   Symbol   Function
       ------  ------   --------
       Prefix    +      Unary plus
       Prefix    -      Unary minus (negation)
       Infix     +      Addition
       Infix     -      Subtraction
       Infix     *      Multiplication
       Infix     /      Division
       Infix     **     Exponentiation
       Infix     =      Equal to
       Infix   NOT =    Not equal to
       Infix     >      Greater than
       Infix   NOT <    Greater than or equal to
       Infix     <      Less than
       Infix   NOT >    Less than or equal to
       Infix    NOT     Logical NOT
       Infix    AND     Logical AND
       Infix    OR      Logical OR

Expressions

Supported Constructs in Language and Address Expressions for COBOL

       Symbol    Construct
       ------    ---------
        ( )      Subscripting
        OF       Record component selection
        IN       Record component selection

Data Types

     Supported COBOL Data Types

     COMP            Records
     COMP-1          Numeric Unsigned
     COMP-2          Leading Separate Sign
     COMP-3          Leading Overpunched Sign
     INDEX           Trailing Separate Sign
     Alphanumeric    Trailing Overpunched Sign

Notes

The debugger can show source text included in a program with the  COPY
or  COPY  REPLACING  verb.   However, when COPY REPLACING is used, the
debugger always shows the original source text as it  appeared  before
text  replacement.   In other words, the original source file is shown
instead of the modified source text generated by  the  COPY  REPLACING
verb.

The debugger cannot show the original source lines associated with the
code  for a REPORT section.  You can see the DATA SECTION source lines
associated with a REPORT, but no source lines are associated with  the
compiled code that generates the report.

VAX COBOL may use quadword, longword, or word to represent a COMP data
type.

DIBOL

     Debugger Support for Language DIBOL

Additional information available:

OperatorsExpressionsData Types

Operators

     Supported DIBOL Operators in Language Expressions

        Kind   Symbol   Function
       ------  ------   --------
       Prefix    #      Round
       Prefix    +      Unary plus
       Prefix    -      Unary minus (negation)
       Infix     +      Addition
       Infix     -      Subtraction
       Infix     *      Multiplication
       Infix     /      Division
       Infix     //     Division with fractional result
       Infix    .EQ.    Equal to
       Infix    .NE.    Not equal to
       Infix    .GT.    Greater than
       Infix    .GE.    Greater than or equal to
       Infix    .LT.    Less than
       Infix    .LE.    Less than or equal to
       Prefix  .NOT.    Logical NOT
       Infix   .AND.    Logical AND
       Infix    .OR.    Logical OR
       Infix   .XOR.    Exclusive OR

Expressions

Supported Constructs in Language and Address Expressions for DIBOL

       Symbol    Construct
       ------    ---------
        ( )      Substring
        [ ]      Subscripting
         .       Record component selection

Data Types

     Supported DIBOL Data Types

     Byte integer (I1)
     Word integer (I2)
     Long integer (I4)
     Packed decimal (Pn)
     Implied packed decimal (Pn.m)
     Zoned decimal (Dn)
     Implied zoned decimal (Dn.m)
     Ascii (An)
     Arrays
     Records

FORTRAN

     Debugger Support for Language FORTRAN

Additional information available:

OperatorsExpressionsPredefined SymbolsData TypesNotes

Operators

     Supported FORTRAN Operators in Language Expressions

        Kind   Symbol   Function
       ------  ------   --------
       Prefix    +      Unary plus
       Prefix    -      Unary minus (negation)
       Infix     +      Addition
       Infix     -      Subtraction
       Infix     *      Multiplication
       Infix     /      Division
       Infix     **     Exponentiation
       Infix     //     Concatenation
       Infix    .EQ.    Equal to
       Infix    .NE.    Not equal to
       Infix    .GT.    Greater than
       Infix    .GE.    Greater than or equal to
       Infix    .LT.    Less than
       Infix    .LE.    Less than or equal to
       Prefix  .NOT.    Logical NOT
       Infix   .AND.    Logical AND
       Infix    .OR.    Logical OR
       Infix   .XOR.    Exclusive OR
       Infix   .EQV.    Equivalence
       Infix   .NEQV.   Exclusive OR

Expressions

Supported Constructs in Language and Address Expressions for FORTRAN

       Symbol    Construct
       ------    ---------
        ( )      Subscripting
         .       Record component selection

Predefined Symbols

     Supported FORTRAN Predefined Symbols

       Symbol      Meaning
       ------      -------
       .TRUE.    Logical True
       .FALSE.   Logical False

Data Types

     Supported FORTRAN Data Types

     LOGICAL*1       REAL*16
     LOGICAL*2       COMPLEX*8
     LOGICAL*4       COMPLEX*16
     INTEGER*2       CHARACTER
     INTEGER*4       Arrays
     REAL*4          Records
     REAL*8

Notes

Even though the VAX type codes for unsigned integers (BU, WU, LU)  are
used internally to describe the LOGICAL data types, the debugger (like
the compiler) treats LOGICAL variables and values as being signed when
used in language expressions.

The debugger  prints  the  numeric  values  of  LOGICAL  variables  or
expressions  instead  of  TRUE or FALSE.  Normally, only the low-order
bit of a LOGICAL variable or value is significant (0 is FALSE and 1 is
TRUE).  However, VAX FORTRAN does allow all bits in a LOGICAL value to
be manipulated and LOGICAL values can be used in integer  expressions.
For  this  reason,  it is at times necessary to see the entire integer
value of a LOGICAL variable  or  expression,  and  that  is  what  the
debugger shows.

COMPLEX constants such as (1.0,2.0)  are  not  supported  in  debugger
expressions.

Floating  point  numbers  of  type  REAL*8  and  COMPLEX*16   may   be
represented   by   D_Floating  or  G_Floating  depending  on  compiler
switches.

MACRO

     Debugger Support for Language MACRO

Additional information available:

OperatorsExpressionsData Types

Operators

     Supported Operators in Language Expressions

Language MACRO  does  not  have  expressions  in  the  same  sense  as
high-level  languages.   Only  assembly-time  expressions  and  only a
limited set of operators are accepted.  To permit the MACRO programmer
to  use expressions at debug-time as freely as in other languages, the
debugger accepts a number of operators in MACRO  language  expressions
that  are  not  found  in  MACRO  itself.  In particular, the debugger
accepts a complete set of comparison  and  boolean  operators  modeled
after  BLISS.  It also accepts the indirection operator and the normal
arithmetic operators.

        Kind   Symbol   Function
       ------  ------   --------
       Prefix    @      Indirection
       Prefix    .      Indirection
       Prefix    +      Unary plus
       Prefix    -      Unary minus (negation)
       Infix     +      Addition
       Infix     -      Subtraction
       Infix     *      Multiplication
       Infix     /      Division
       Infix    MOD     Remainder
       Infix     @      Left shift
       Infix    EQL     Equal to
       Infix    EQLU    Equal to
       Infix    NEQ     Not equal to
       Infix    NEQU    Not equal to
       Infix    GTR     Greater than
       Infix    GTRU    Greater than unsigned
       Infix    GEQ     Greater than or equal to
       Infix    GEQU    Greater than or equal to unsigned
       Infix    LSS     Less than
       Infix    LSSU    Less than unsigned
       Infix    LEQ     Less than or equal to
       Infix    LEQU    Less than or equal to unsigned
       Prefix   NOT     Bit-wise NOT
       Infix    AND     Bit-wise AND
       Infix    OR      Bit-wise OR
       Infix    XOR     Bit-wise exclusive OR
       Infix    EQV     Bit-wise equivalence

Expressions

Supported Constructs in Language and Address Expressions for MACRO

       Symbol    Construct
       ------    ---------
       <p,s,e>   Bitfield selection as in BLISS
       [ ]       Subscripting

The DST information generated by the MACRO assembler  treats  a  label
that  is  followed by an assembler directive for storage allocation as
an array variable whose name is the label.  This enables  you  to  use
the   array   syntax  of  a  high-level  language  when  examining  or
manipulating such data.

In the  following  example  of  MACRO  source  code,  the  label  LAB4
designates hexadecimal data stored in four words:

     LAB4:    .WORD    ^X3F,5[2],^X3C

The debugger treats LAB4 as an array variable.  For example, the  next
command displays the value stored in each element (word):

     DBG> EXAMINE LAB4
     .MAIN.\MAIN\LAB4
         [0]:        003F
         [1]:        0005
         [2]:        0005
         [3]:        003C
     DBG>

The next command displays the value stored in  the  fourth  word  (the
first word is indexed as element "0"):

     DBG> EXAMINE LAB4[3]
     .MAIN.\MAIN\LAB4[3]:    03C
     DBG>

Data Types

     Supported MACRO Data Types

     Byte Unsigned (BU)
     Word Unsigned (WU)
     Longword Unsigned (LU)
     Byte Integer (B)
     Word Integer (W)
     Longword Integer (L)

PASCAL

     Debugger Support for Language PASCAL

Additional information available:

OperatorsExpressionsPredefined SymbolsData TypesNotes

Operators

     Supported PASCAL Operators in Language Expressions

        Kind   Symbol   Function
       ------  ------   --------
       Prefix    +      Unary plus
       Prefix    -      Unary minus (negation)
       Infix     +      Addition, concatenation
       Infix     -      Subtraction
       Infix     *      Multiplication
       Infix     /      Real division
       Infix    DIV     Integer division
       Infix    MOD     Modulus
       Infix    REM     Remainder
       Infix     **     Exponentiation
       Infix     IN     Set membership
       Infix     =      Equal to
       Infix     <>     Not equal to
       Infix     >      Greater than
       Infix     >=     Greater than or equal to
       Infix     <      Less than
       Infix     <=     Less than or equal to
       Prefix   NOT     Logical NOT
       Infix    AND     Logical AND
       Infix    OR      Logical OR

Expressions

Supported Constructs in Language and Address Expressions for PASCAL

       Symbol    Construct
       ------    ---------
        [ ]      Subscripting
         .       Record component selection
         ^       Pointer dereferencing

Predefined Symbols

     Supported PASCAL Predefined Symbols and Functions

       Symbol      Meaning
       ------      -------
        TRUE     Boolean True
        FALSE    Boolean False
        NIL      Nil pointer

Data Types

     Supported PASCAL Data Types

     INTEGER         CHAR            Subranges
     UNSIGNED        VARYING         Typed
     SINGLE          SET             Arrays
     DOUBLE          FILE            Records
     QUADRUPLE       Enumerations    Variant
     BOOLEAN

Notes

The debugger accepts PASCAL set constants  such  as  [1,2,5,8..10]  or
[RED, BLUE] in PASCAL language expressions.

VAX PASCAL may use longword, word, or byte  to  represent  INTEGER  or
UNSIGNED  data  types.  DOUBLE precision floating point numbers may be
represented  by  D_Floating  or  G_Floating  depending   on   compiler
switches.

PLI

     Debugger Support for Language PL/I

Additional information available:

OperatorsExpressionsData TypesNotes

Operators

     Supported PL/I Operators in Language Expressions

        Kind   Symbol   Function
       ------  ------   --------
       Prefix    +      Unary plus
       Prefix    -      Unary minus (negation)
       Infix     +      Addition
       Infix     -      Subtraction
       Infix     *      Multiplication
       Infix     /      Division
       Infix     **     Exponentiation
       Infix     ||     Concatenation
       Infix     =      Equal to
       Infix     ^=     Not equal to
       Infix     >      Greater than
       Infix     >=     Greater than or equal to
       Infix     ^<     Greater than or equal to
       Infix     <      Less than
       Infix     <=     Less than or equal to
       Infix     ^>     Less than or equal to
       Prefix    ^      Bit-wise NOT
       Infix     &      Bit-wise AND
       Infix     |      Bit-wise OR

Expressions

Supported Constructs in Language and Address Expressions for PL/I

       Symbol    Construct
       ------    ---------
        ( )      Subscripting
         .       Structure component selection
         ->      Pointer dereferencing

Data Types

     Supported PL/I Data Types

     FIXED BINARY        CHARACTER VARYING
     FIXED DECIMAL       FILE
     FLOAT BINARY        Labels
     FLOAT DECIMAL       Pointers
     BIT                 Arrays
     CHARACTER           Structures

Notes

The debugger treats all numeric constants of the form n or n.n in PL/I
language  expressions  as  packed  decimal  constants,  not integer or
floating-point constants, in order to conform to PL/I language  rules.
The  internal  representation of 10 is therefore 0C01 hexadecimal, not
0A hexadecimal.  You can  enter  floating-point  constants  using  the
syntax  nEn  or n.nEn.  There is no PL/I syntax for entering constants
whose internal representation is Longword Integer.  This limitation is
not  normally  significant  when debugging since the debugger supports
the PL/I type conversion rules.  However,  it  is  possible  to  enter
integer  constants  by  using  the  debugger's  %HEX,  %OCT,  and %BIN
operators.

VAX PL/I may use F_Floating, D_Floating, G_Floating, or H_Floating  to
represent  FLOAT  BINARY  or  FLOAT  DECIMAL  data  types depending on
compiler switches.

RPG

     Debugger Support for Language RPG

Additional information available:

OperatorsExpressionsData TypesNotes

Operators

     Supported RPG Operators in Language Expressions

        Kind   Symbol   Function
       ------  ------   --------
       Prefix    +      Unary plus
       Prefix    -      Unary minus (negation)
       Infix     +      Addition
       Infix     -      Subtraction
       Infix     *      Multiplication
       Infix     /      Division
       Infix     =      Equal to
       Infix   NOT =    Not equal to
       Infix     >      Greater than
       Infix   NOT <    Greater than or equal to
       Infix     <      Less than
       Infix   NOT >    Less than or equal to
       Prefix   NOT     Logical NOT
       Infix    AND     Logical AND
       Infix    OR      Logical OR

Expressions

Supported Constructs in Language and Address Expressions for RPG

       Symbol    Construct
       ------    ---------
        ( )      Subscripting

Data Types

     Supported RPG Data Types

     Longword
     Word
     Packed Decimal
     Character
     Overpunched Decimal
     Arrays
     Tables

Notes

The debugger supports access to all RPG indicators and labels used  in
the  current  program.   You can thus examine labels such as *DETL and
indicators such as *INLR and *IN01 through *IN99.

SCAN

     Debugger Support for Language SCAN

Additional information available:

EventsOperatorsExpressionsData Types

Events


     The debugger allows you to set breakpoints and tracepoints (known
     generically   as   "eventpoints")  on  certain  types  of  events
     occurring during the execution of your program which are  defined
     and detected by the SCAN RTL.

     SCAN defines several events.  By  setting  breaks  or  traces  on
     these  events,  you can observe the picture matching process.  To
     see what the defined events are for SCAN, type the command  "SHOW
     EVENTS".

     To set an eventpoint for the SCAN RTL to detect, use the commands
     "SET BREAK/EVENT=keyword" or "SET TRACE/EVENT=keyword".

     To display the eventpoints you have set, use the  commands  "SHOW
     BREAK" or "SHOW TRACE".

     To   remove   the   eventpoints   use   the   commands    "CANCEL
     BREAK/EVENT=keyword" or "CANCEL TRACE/EVENT=keyword"

     Where "keyword" is one of the defined events listed by the  "SHOW
     EVENTS"  command.   SCAN  events  may be abbreviated to 3 or more
     characters.

Additional information available:

Examples

Examples


Set two tracepoints that are triggered when a SCAN Trigger  or  Syntax
Macro  is  activated.   Set a break point that is triggered whenever a
SCAN token is built.

     DBG>SET TRACE/EVENT=TRIGGER
     DBG>SET TRACE/EVENT=SYNTAX
     DBG>SET BREAK/EVENT=TOKEN

The  following  example  illustrates  the  output  from  the   program
execution after setting the above eventpoints.

     DBG>Go
     trace on event TRIGGER_MACRO
       Trigger  Macro EXPRESSION_TEST\PRINT_STMT Activated
     break on event TOKEN
       Token built: PRINT Triggerable Length:5 Line:1 Column:1
       Token text: 'print'
     DBG>Go
     trace on event SYNTAX_MACRO
       Syntax  Macro EXPRESSION_TEST\EXP Activated


Operators

Supported Operators in Language Expressions for SCAN


        Kind   Symbol   Function
       ------  ------   --------
       Prefix    +      Unary plus
       Prefix    -      Unary minus (negation)
       Infix     +      Addition
       Infix     -      Subtraction
       Infix     *      Multiplication
       Infix     /      Division
       Infix     &      Concatenation
       Infix     =      Equals
       Infix     <>     Not equals
       Infix     >      Greater than
       Infix     >=     Greater than or equal to
       Infix     <      Less than
       Infix     <=     Less than or equal to
       Prefix   NOT     Complement
       Infix    AND     Intersection
       Infix    OR      Union
       Infix    XOR     Exclusive OR


Expressions

Supported Constructs in Language and Address Expressions for SCAN


       Symbol    Construct
       ------    ---------
        ( )      Subscripting
         .       Record component selection
         ->      Pointer dereferencing


Data Types

     Supported SCAN Data Types

     BOOLEAN
     INTEGER
     POINTER
     STRING
     TREE
     TREEPTR
     RECORD
     OVERLAY

     There is no specific support for the following datatypes:   FILE,
     TOKEN,  GROUP,  SET.   Examining a FILL variable will produce the
     contents of the specified  variable  displayed  as  a  string  by
     default,  and so may have little meaning.  If the characteristics
     of the fill are known, then the appropriate  qualifier  (/HEX...)
     applied to the command will produce a more meaningful display.

     Examining SCAN TREE and TREEPTR variables:

          DBG>EXAMINE tree_variable( [ subscript ],...)
                             - To dump an entire SCAN tree or subtree
          DBG>EXAMINE treeptr_variable
                             - To dump the contents of a SCAN treeptr
          DBG>EXAMINE treeptr_variable->
                             - To dump an entire SCAN subtree
     DEPOSIT is not supported for SCAN TREE variables  at  this  time.
     You may set breakpoints on any SCAN label, line number, MACRO, or
     PROCEDURE.

UNKNOWN

     Debugger Support for Language UNKNOWN

Additional information available:

OperatorsExpressionsData TypesNotes

Operators

     Supported Operators in Language Expressions for UNKNOWN

        Kind   Symbol   Function
       ------  ------   --------
       Prefix    +      Unary plus
       Prefix    -      Unary minus (negation)
       Infix     +      Addition
       Infix     -      Subtraction
       Infix     *      Multiplication
       Infix     /      Division
       Infix     **     Exponentiation
       Infix     &      Concatenation
       Infix     //     Concatenation
       Infix     =      Equal to
       Infix     <>     Not equal to
       Infix     /=     Not equal to
       Infix     >      Greater than
       Infix     >=     Greater than or equal to
       Infix     <      Less than
       Infix     <=     Less than or equal to
       Infix    EQL     Equal to
       Infix    NEQ     Not equal to
       Infix    GTR     Greater than
       Infix    GEQ     Greater than or equal to
       Infix    LSS     Less than
       Infix    LEQ     Less than or equal to
       Prefix   NOT     Logical NOT
       Infix    AND     Logical AND
       Infix    OR      Logical OR
       Infix    XOR     Exclusive OR
       Infix    EQV     Equivalence

Expressions

Supported Constructs in Language and Address Expressions for UNKNOWN

       Symbol    Construct
       ------    ---------
        [ ]      Subscripting
        ( )      Subscripting
         .       Record component selection
         ^       Pointer dereferencing

Data Types

     Supported UNKNOWN Data Types

When the language is set to UNKNOWN, the debugger understands all data
types  accepted by other languages except a few very language-specific
types, such a picture types  and  file  types.   In  UNKNOWN  language
expressions, the debugger accepts most scalar VAX Standard data types.

Notes

For language UNKNOWN, the debugger accepts the dot-notation for record
component  selection.  If C is a component of a record B which in turn
is a component of  a  record  A,  C  can  be  referenced  as  "A.B.C".
Subscripts  can be attached to any array components; if B is an array,
for instance, C may be referenced as "A.B[2,3].C".

For language UNKNOWN, the  debugger  accepts  both  round  and  square
subscript parentheses.  Hence A[2,3] and A(2,3) are equivalent.

Lexicals

     The lexical  functions  provide  control  over  the  scanning  of
     language   expressions   and   offer   additional  capability  in
     specifying entities in your program.  They are logically  grouped
     here according to their purpose.

     %NAME -- used to construct identifiers.

     %PARCNT -- used in command procedures.

     %BIN, %DEC, %HEX, and %OCT, -- provide for  better  control  over
     radix.

     %CURLOC, %NEXTLOC,  and  %PREVLOC  --  useful  with  EXAMINE  and
     DEPOSIT.

     %LABEL and %LINE -- used to indicate program locations.

     %ADAEXC_NAME,    %EXC_FACILITY,    %EXC_NAME,    %EXC_NUM,    and
     %EXC_SEVERITY  --  built-in  symbols to provide information about
     the current exception.

     %ACTIVE_TASK, %CALLER_TASK, %NEXT_TASK, %TASK, and  %VISIBLE_TASK
     -- built-in symbols used for support of ADA multitasking:

Additional information available:

%NAME%PARCNT%BIN%DEC%HEX%OCT%CURLOC
%NEXTLOC%PREVLOC%LABEL%LINE%ADAEXC_NAME%EXC_FACILITY
%EXC_NAME%EXC_NUM%EXC_SEVERITY%ACTIVE_TASK
%CALLER_TASK%NEXT_TASK%TASK%VISIBLE_TASK

%NAME

     %NAME  allows  identifiers  to  be  constructed  which  are   not
     ordinarily legal in the current language.

 Format:

     %NAME id-char-string

     %NAME 'any-char-string'

 Examples:

     EX %NAME 12       ! Allows examination of variable with name '12'

     EX %NAME 'P.AAA'  ! Allows examination of generated label P.AAA

%PARCNT

     The %PARCNT symbol specifies the number of actual  parameters  to
     the  current command procedure.  For example, suppose the command
     file ABC is invoked with the command  @ABC  111,222,333.   Inside
     ABC,  %PARCNT  then  has  the  value  3  because  there are three
     parameters on this particular call to ABC.  %PARCNT  is  used  in
     command  procedures  that  can  take  a variable number of actual
     parameters.  %PARCNT can only be used inside command files; it is
     not defined when commands are entered from the terminal.

 Sample Format:

     EVAL %PARCNT
     FOR I = 1 TO %PARCNT DO (DECLARE X:VALUE; EVAL X)

%BIN

     Specifies that the following  numeric  literal  (or  all  numeric
     literals   in   the   following   parenthesized   expression)  be
     interpreted in binary radix.

 Sample Format:

     DBG> EVALUATE/DEC %BIN 10
      2
     DBG> EVALUATE/DEC %BIN (10 + 10)
      4

%DEC

     Specifies that the following  numeric  literal  (or  all  numeric
     literals   in   the   following   parenthesized   expression)  be
     interpreted in decimal radix.

 Sample Format:

     DBG> EVALUATE/HEX %DEC 10
      0A
     DBG> EVALUATE/HEX %DEC (10 + 10)
      14

%HEX

     Specifies that the following  numeric  literal  (or  all  numeric
     literals   in   the   following   parenthesized   expression)  be
     interpreted in hexadecimal radix.

 Sample Format:

     DBG> EVALUATE/DEC %HEX 10
      16
     DBG> EVALUATE/DEC %HEX (10 + 10)
      32

%OCT

     Specifies that the following  numeric  literal  (or  all  numeric
     literals   in   the   following   parenthesized   expression)  be
     interpreted in octal radix.

 Sample Format:

     DBG> EVALUATE/DEC %OCT 10
      8
     DBG> EVALUATE/DEC %OCT (10 + 10)
      16

%CURLOC

     This is a built-in symbol which represents  the  current  logical
     entity  --  that  is,  the program location last referenced by an
     EXAMINE or DEPOSIT command.  The period character "." can also be
     used for this purpose.

 Sample Format:

     DBG> EXAMINE RADIUS
     CIRCLE\RADIUS:  0.0000000E+00
     DBG> DEPOSIT %CURLOC = 1      ! Set RADIUS to 1
     DBG> DEPOSIT . = 2            ! Set RADIUS to 2

%NEXTLOC

     This is a built-in symbol which represents the logical  successor
     to  the  current  entity  --  that  is, the program location that
     logically follows the location last referenced by an  EXAMINE  or
     DEPOSIT  command.   Note  that  the  EXAMINE  command  without  a
     parameter is equivalent to EXAMINE %NEXTLOC.

 Sample Format:

     DBG> EXAMINE PRIMES(4)
     SIEVE\PRIMES(4):  7
     DBG> EXAMINE %NEXTLOC
     SIEVE\PRIMES(5):  11
     DBG> EXAMINE            ! Equivalent to EXAMINE %NEXTLOC
     SIEVE\PRIMES(6):  13

%PREVLOC

     This  is  a  built-in  symbol  which   represents   the   logical
     predecessor  to  the  current  entity  --  That  is,  the program
     location that logically preceeds the location last referenced  by
     an  EXAMINE or DEPOSIT command.  The circumflex character "^" can
     also be used for this purpose.

 Sample Format:

     DBG> EXAMINE PRIMES(6)
     SIEVE\PRIMES(6):  13
     DBG> EXAMINE %PREVLOC
     SIEVE\PRIMES(5):  11
     DBG> EXAMINE ^
     SIEVE\PRIMES(4):  7

%LABEL

     "%LABEL n" is the debugger syntax for referring  to  label  n  in
     your  program.  This is intended for languages like FORTRAN which
     have numeric program labels.  You can qualify the  label  with  a
     pathname specifying the containing module.  For example:

     SET BREAK MODULENAME\%LABEL 10

     The "old" syntax of "%LABEL MODULENAME\10" is no longer accepted.

%LINE

     "%LINE n" is the debugger syntax for referring to line n in  your
     program.   You  can  qualify  the  line  number  with  a pathname
     specifying the containing module.  For example:

     SET BREAK MODULENAME\%LINE 10

     The "old" syntax of "%LINE MODULENAME\10" is no longer accepted.

%ADAEXC_NAME

     "%ADAEXC_NAME is a special form of %EXC_NAME  for  ADA  programs.
     In  ADA,  an  exception  can be raised with syntax such as "raise
     XXX;".  In this case, the exception name in the VMS sense is just
     "EXCEPTION",  and  that  is  what %EXC_NAME will return.  The ADA
     exception name ("XXX") will be returned by %ADAEXC_NAME.

     Example:

     DBG> SET BREAK/EXCEPTION WHEN (%ADAEXC_NAME = "XXX")


%EXC_FACILITY

     "%EXC_FACILITY" gives you the facility of the current  exception.
     This provides a way of qualifying exception breaks.

     Example:
     DBG> EVAL %EXC_FACILITY
     "SYSTEM"
     DBG> SET BREAK/EXC WHEN (%EXC_FAC = "SYSTEM")

%EXC_NAME

     "%EXC_NAME" gives you the name of the  current  exception.   This
     provides a way of qualifying exception breaks.

     Example:
     DBG> EVAL %EXC_NAME
     "FLTDIV_F"
     DBG> SET BREAK/EXC WHEN (%EXC_NAME = "FLTDIV_F")

%EXC_NUM

     "%EXC_NUM" gives you the current exception number.  This provides
     a way of qualifying exception breaks.

     Example:
     DBG> EVAL %EXC_NUM
     12
     DBG> EVAL/COND %EXC_NUM
     %SYSTEM-F-ACCVIO, access violation at PC !XL, virtual address !XL
     DBG> SET BREAK/EXC WHEN (%EXC_NUM = 12)

%EXC_SEVERITY

     "%EXC_SEVERITY" gives  you  the  severity  code  of  the  current
     exception.  This provides a way of qualifying exception breaks.

     Example:
     DBG> EVAL %EXC_SEVERITY
     "F"
     DBG> SET BREAK/EXC WHEN (%EXC_SEV = "F")

%ACTIVE_TASK

     (Only valid for ADA multitasking programs).

     "%ACTIVE_TASK" gives you the currently active task (the one  that
     was  running  when  the  debugger  last  took  control).  See the
     command "SET TASK/ACTIVE".

     Example:
     DBG> EVALUATE %ACTIVE_TASK
     %TASK 2

%CALLER_TASK

     (Only valid for ADA multitasking programs).

     "%CALLER_TASK" gives you the task which is the  entry  caller  of
     the active task during a task rendezvous.

     If the active task (%ACTIVE_TASK) is not currently  executing  an
     accept  statement  (that  is,  a  rendezvous is not in progress),
     %CALLER_TASK returns %TASK 0.

     Example:

     The  following  command  sets  a  breakpoint  within  an   accept
     statement.   The breakpoint is triggered only when %TASK 3 is the
     task making the entry call of the rendezvous.

     DBG> TYPE 51:53
     module SAMPLE
         51:         accept RENDEZVOUS do
         52:            PUT_LINE("Beginning the rendezvous");
         53:         end RENDEZVOUS;
     DBG> SET BREAK %LINE 52 WHEN (%CALLER_TASK = %TASK 3)

%NEXT_TASK

     (Only valid for ADA multitasking programs).

     "%NEXT_TASK" gives you the "next" task  after  the  one  that  is
     currently  visible  (%VISIBLE_TASK).   "Next"  in this context is
     just an internal ordering that  cycles  through  all  the  tasks.
     This  lets  you  set up command procedures that cycle through all
     tasks.

     Example:
     DBG> WHILE %NEXT NEQ %ACTIVE DO -
            (SET TASK %NEXT; SHOW CALLS)

%TASK

     (Only valid for ADA multitasking programs).

     "%TASK n" (where "n"  is  a  positive  decimal  integer)  is  the
     debugger syntax for referring to an ADA task by its task ID.  The
     task ID is a unique number that is associated with a task at  the
     time  the  task  is created.  The task number "n" can be obtained
     using the "SHOW  TASK/ALL"  command  or  by  examining  ADA  task
     objects.

     Example:
     DBG> EXAMINE T1
     T1: %TASK 2
     DBG> SET TASK %TASK 2

%VISIBLE_TASK

     (Only valid for ADA multitasking programs).

     "%VISIBLE_TASK" gives you the task that the debugger is using  to
     do  symbol  lookups.  It is the default task assumed by debugging
     commands when you  do  not  (or  cannot)  specify  a  task.   For
     example,  the debugger command EXAMINE %R0 displays register 0 of
     the visible task.

     This is normally the same as  %ACTIVE_TASK  but  can  be  changed
     using the SET TASK command.

     Example:
     DBG> SET TASK %TASK 2
     DBG> EVALUATE %VISIBLE
     %TASK 2

Messages

     This section contains information on the messages you may see.

 Format:

     MESSAGE keyword

     where "keyword" is the abbreviation (IDENT) of the message.   For
     example, if you received the message

          %DEBUG-I-INITIAL, language is BASIC, module set to TEST

     and wanted to know more about it, you could enter the command

          DBG> HELP MESSAGE INITIAL

     and you would see information about the INITIAL message.

Additional information available:

ABORTEDABSDATSYNACCADDCOMADDRANCOV
ADDRESSMODEADDRREGAMBFIELDAMBIGQUALAMPERSAND
ASTWASDISABLEDASTWASENABLEDATTACHEDATTREQREF
BADDESCRBADDISCVALBADDSTBADEVNPARBADEXH
BADFRAMEBADOPCODEBADPARAMBADSCOPEBADSIGARG
BADSTACKBADSTARTPCBADSTATUSBADTAGVAL
BADTARGETBADUSREVNTBADWATCHBASVARNOTSET
BITRANGEBUFFEROVFBWLGISMUSCANTACCESSMAIN
CANTGETFIDCANTOPNIMGCIREXLSTCMDSYNERR
CMPNOTFNDCONFLICTCONFROMEXCCONSTRCOMP
CPOSTDECRCPOSTINCRCPREDECRCPREINCRCRMPSCFAIL
CVTNEGUNSDBGERRDECLARERRDECOVFDECROPRAND
DEFKEYDEFKEYERRDELBREAKDELKEYDELKEYERR
DELTIMTOODELTRACEDESCNOTSETDISABLEAST
DISNOTSELDISPEXISTSDISPRLENSIZDIVBYZERO
DSTERRGDSTNESDEPDYNIMGSETDYNMODSET
EDITDISVEREDITERROREDITFILEEDITNOFILE
EDITREVVERENABLEASTENTRYMASKENUMRANGE
ERRASSIGNERRCLSFILEERRCRELNMERRDEASSIGN
ERRFAOERRGETDVIERRGETEFERRINSDECERRINVEDIT
ERRORERRQIOWERRSMGERRSYSSERVERRUSREVNT
EXARANGEEXCDURCALEXITARGEXITSTATUSFILEUNAL
FLTOVFGETJPIHEIGHTDIFFIDENTLONGIFIXUND
IFLTUNDIINTOVFILLADDCONILLASTERILLDEFNAM
ILLENUMVALILLFILPTRILLFLOATILLLENGTHILLPACSIZILLPATH1
ILLPATH2ILLPATHELEMILLPOSFLDILLQUALIFILLRANGEILLSETCON
ILLSIGEXTILLSIZFLDILLSUBLENILLSUBSTRILLTYPEINCDSTNESINCOMPOPR
INCOMPPTRINCOMQUALINDBASEQLINITIAL
INPREADERRINSVIRMEMINTERRINTMEMERR
INTOVFINUMTRUNCINVARGLISINVARRDIMINVARRDSC
INVCHARINVCHRCONINVDESCINVDIGBININVDIGDECINVDIGHEX
INVDIGOCTINVDIRNAMINVDMTPTRINVDSPSIZ
INVDSTRECINVEXPRINVFIXDSTINVFLDREFINVGSTREC
INVGSTTYPINVMARINVNUMBERINVNUMSRC
INVNUMSTRINVOPADDRINVOPSYMINVPAGEINVPRIOR
INVRANSPECINVSELDISINVSRCLININVTIMSLIINVWIDTHINVWINPAR
IRFAOVFISTRTRUIVALOUTBNDSLASTCHANCELINEINFO
LONGSTRINGLOOPINCRLOOPVARLOWBNDOPTMATQUOMIS
MISCLOSUBMISINVNUMMISINVOPERMISMODBEG
MISMODENDMISOPEMISMODUSCOPENAMSTRMIS
NAMTOOLONGNEEDMORENEEDPARENNOACCESSR
NOACCESSWNOADDRREGNOALTERSPNOATTACH
NOBREAGGRNOBREAKATNOBREAKSNOCALLSNOCANMAIN
NOCLINOCURLOCNODELIMTRNODEPDEBUGNODIRLISM
NODIRLISTNOELABBODYNOELABSPECNOENDNOEVALEXPR
NOEVENTFACNOEXHNDNOFIELDNOFREENOGLOBALS
NOINSTRANNOKEYDEFNOKEYPADNOLASTVALNOLINXXX
NOLOCALSNOMARKCHNGNOMATCHNOMORENONEXPRNONUMSCOPE
NONXTLINNOOCCLDISPNOPACKMEMBODYNOPACKMEMSPEC
NOPREDNOPROMPTNORMALNORSTBLDNOSAVPROG
NOSCOPENOSCRDEVNOSCRMODENOSCROLLNOSCROLLDISP
NOSETTERMNOSPAWNNOSRCHSTRNOSRCLINNOSTEPGO
NOSUCCNOSUCHBPTNOSUCHDISPNOSUCHELP
NOSUCHIMGNOSUCHMODUNOSUCHPACKNOSUCHSCOPE
NOSUCHTASKNOSUCHTPTNOSUCHWINDNOSUCHWPT
NOSYMBOLNOSYMBOLRNOTADAPROGNOTARRAYNOTASTRUCT
NOTATMAINNOTCURPCNOTDEFINENOTIMPLAN
NOTINLOOPNOTINSTNOTORIGSRCNOTPTRNOTRACES
NOTRAZERONOTRECORDNOTREENOTTASKVAL
NOTUNQOVRNOTUPDATENOTYPEINFONOUNIQUE
NOUNIVERSALSNOUSREVNTNOVALATPCNOVALTYP
NOVALUENOWATCHESNOWATTARNOWATVARIANOWATVARSTG
NOWBPTNOWILDFILNOWOPCONULLPTRNUMCONLONGNUMTRUNC
OPCDECOPNOTALLOWOPSYNTAXOUTPUTLOSTPACSIZREQ
PARENREQPARSTKOVRPATHNOTACPPATHTLONG
PATHTOOLONGPCNOTALLPLICVTERRPROFRANOT
PROMPTCLENPROMPTOCCLPROMPTRLENPROVRFLOW
PXCNQUOSTRLONGREADERRREGREQRENAMENOT
RETURNEDRNDFCTROUTROPRANDFRPCERRRSTERRSCALEADD
SCALESUBSCRTOBIGSCRTOSMALLSETKEYSETKEYERR
SETSCOMODSFCNTNEGSHOKEYERRSIDEFFECTSIZEATOMIC
SIZETRUNCSOURCESCOPESPAWNEDSRCLINNOTSS_INT
STEPINTOSTGTRUNCSTRNGPADSTRTOOLONGSTRUCSIZESUBOUTBND
SUBSCRNGSUBSTRINGSUPERDEBUGSYMNOTACTSYMNOTFND
SYNERREXPRSYNERRLABELSYNERRLINESYNTAX
TASKERRORTASKNOTABORTTASKNOTACTTASKNULL
TIMESLICETOOFEWSUBTOOMANDIMTOOMANERR
TOOMANINVTOOMANPARMTOOMANSUBUNACREDBGO
UNACVTUNALIGNEDUNALLOCATEDUNAOPEDBGI
UNAOPESCRUNAOPNHLPUNAOPNINIUNAOPNSRC
UNAREASRCUNASAVVALUNASETIMGUNASETTAS
UNASWISTAUNBPARENUNDEXPNUNDKEYUNEXPEXCUNIMPLENT
UNMTCHPARNUPBNDOPTUSREVNTERRVALNOTADDR
VARNESDEPVERIFYICFWATCHSIZEWIDTHDIFF
WORKSTACMDWPTTRACEWRITE_FAILEDWRITE_INTO_KERNEL
WRITE_INTO_KERNEL_STACKZERLENDSTZEROINCR

Parameters

Parameters

 keyword

     Specifies the message to be displayed.

ABORTED

 Message:  command aborted by Control-Y

 Severity:  Warning.

ABSDATSYN

 Message:  absolute date-time syntax error

 Severity:  Warning.

ACCADDCOM

 Message:  access violation in address computation for address_value

 Severity:  Warning.

 Explanation:  The address  computation  for  the  specified  variable
     resulted  in  an  access  violation.   This normally means that a
     register value or a descriptor needed in the address  computation
     is uninitialized or corrupted.

 User Action:  If the necessary register  or  descriptor  is  not  yet
     initialized,  the  variable is not available at this point in the
     code.  If the register or descriptor is corrupted, the  cause  of
     this error should be located and corrected.

ADDRANCOV

 Message:  address range covers more than one module address_value  is
     in path_name address_value is in path_name

 Severity:  Warning.

 Explanation:   The  address  range  specified  in  an  EXAMINE/SOURCE
     command  covers  more than a single module.  This is not allowed.
     The start address xxx is in module mod1 and the end  address  yyy
     is in module mod2.

 User Action:  Reenter the command with a valid address range.

ADDRESSMODE

 Message:  instruction uses illegal or undefined addressing modes

 Severity:  Informational.

ADDRREG

 Message:  & not allowed on  register  variables:   operand  bound  to
     register_name

 Severity:  Warning.

AMBFIELD

 Message:  field_name is an ambiguous field name

 Severity:  Warning.

AMBIGQUAL

 Message:  qualifier qualifier_name is ambiguous

 Severity:  Warning.

AMPERSAND

 Message:  operand of ampersand must be lvalue

 Severity:  Warning.

ASTWASDISABLED

 Message:  ASTs were disabled, are still disabled

 Severity:  Informational.

ASTWASENABLED

 Message:  ASTs were enabled, are still enabled

 Severity:  Informational.

ATTACHED

 Message:  terminal now attached to process process_name

 Severity:  Informational.

ATTREQREF

 Message:  attach request refused

 Severity:  Error.

 Explanation:  The specified process could not be attached to.  Either
     it was not detached or it did not belong to the caller's job.

 User Action:  Ensure that  the  specified  process  is  detached  and
     belongs to the caller's job.

BADDESCR

 Message:  descriptor for 'symbol_name' is bad or is not set up yet

 Severity:  Warning.

BADDISCVAL

 Message:   incorrect  value  of  tag_value  in   discriminant   field
     tag_name.

 Severity:  Informational.

BADDST

 Message:  bad Debug Symbol Table (compiler error)

 Severity:  Error.

BADEVNPAR

 Message:  parameter does not have permitted data type for this event

 Severity:  Error.

BADEXH

 Message:  the user-mode exit handler list is corrupt

 Severity:  Error.

 Explanation:  While walking the list of user-mode exit handlers,  the
     debugger detected a forward link which pointed to an inaccessible
     exit control block.

 User Action:  Check for a call to the SYS$DCLEXH system service  that
     specifies  an  illegal  exit control block argument.  Also verify
     that exit control blocks are not getting corrupted later  in  the
     program.

BADFRAME

 Message:  bad FP or bad saved  FP  at  pointer-addr  in  call  stack,
     cannot read frame near frame-addr

 Severity:  Informational.

 Explanation:  The debugger is trying to chain down  the  call  stack,
     following  frame  pointers.   The FP register (if pointer-addr is
     "FFFFFFFF") or the saved frame pointer at  location  pointer-addr
     points  to  a frame at least part of which is not read accessible
     near location frame-addr.

 User Action:  Determine what part of your code is writing into the FP
     register or overwriting the saved frame pointer on the call stack
     (or a preceding saved frame pointer) and correct it.   Since  the
     debugger  looks at the call stack to symbolize addresses, you may
     suppress some of these messages by typing the  command  SET  MODE
     NOSYMBOLIC.

BADOPCODE

 Message:  opcode opcode_name is unknown

 Severity:  Error.

 Explanation:  The opcode opcode_name specified in the deposit command
     is  unknown  to the debugger.  If the opcode is a valid VAX MACRO
     opcode, then it will have a synonymous  opcode.   These  opcodes,
     such  as  MOVAF  and  MOVAL,  generate the same instruction.  The
     debugger recognizes only one of them.

 User Action:  Specify a valid opcode or  specify  an  opcode  synonym
     that the debugger accepts.

BADPARAM

 Message:  bad parameter value

 Severity:  Error.

 Explanation:  This message indicates an internal debugger error.

 User Action:  Submit a Software Performance Report.

BADSCOPE

 Message:  invalid pathname path_name, SCOPE not changed

 Severity:  Error.

 Explanation:  The scope path_name specified in the SET SCOPE  command
     contained a pathname that does not exist.

 User Action:  Specify a valid scope.

BADSIGARG

 Message:  bad sigarg pointer at pointer-addr or  bad  sigarg  vector,
     cannot read sigarg vector near sigarg-addr

 Severity:  Informational.

 Explanation:  The debugger is trying to chain down  the  call  stack,
     following  frame  pointers,  and  has  encountered  an  exception
     handler.  The signal argument pointer  at  location  pointer-addr
     points  to a signal argument vector at least part of which is not
     read accessible near location sigarg-addr.

 User Action:  Determine what part of your  code  is  overwriting  the
     stored  signal argument pointer on the call stack, or part of the
     signal  argument  vector  itself,  and  correct  it.   Since  the
     debugger  looks at the call stack to symbolize addresses, you may
     suppress some of these messages by typing the  command  SET  MODE
     NOSYMBOLIC.

BADSTACK

 Message:  stack corrupted - no further data available

 Severity:  Warning.

 Explanation:  While displaying part of the call stack,  the  debugger
     has  determined  that  the stack is corrupted and cannot continue
     executing the command.

 User Action:  See the secondary message for more information.

BADSTARTPC

 Message:  cannot access start PC = address_value

 Severity:  Error.

 Explanation:  Location address_value is not an accessible address and
     therefore  cannot  be  executed.   This is often caused when a GO
     command with  no  address  specification  is  entered  after  the
     program  has  terminated.   The  debugger  tries  to  execute  an
     instruction at location 0, which is not accessible.

 User Action:  Specify a different address  specification  in  the  GO
     command  or, if the program has terminated, you can exit from the
     debugger and initiate the program with the DCL command RUN.

BADSTATUS

 Message:  bad status returned from routine-name

 Severity:  Error.

 Explanation:  The debugger got an unexpected error  status  from  the
     system service or RTL routine routine-name.

 User Action:  Examine the error message and consider if  the  problem
     is  related  to  a  lack  of  quota  or otherwise related to your
     program's behavior.  If so, then  take  corrective  action.   If,
     after  this  evaluation, you believe that the problem lies in the
     debugger , then submit a a Software Performance Report.

BADTAGVAL

 Message:  incorrect value of tag_value in tag field tag_name.

 Severity:  Informational.

BADTARGET

 Message:  target location protected, cannot perform deposit

 Severity:  Warning.

 Explanation:  The target address of the  DEPOSIT  command  cannot  be
     made writeable.  The DEPOSIT command cannot be performed.

 User Action:  None.

BADUSREVNT

 Message:  bad user-specified event table or event entry in user RTL

 Severity:  Error.

BADWATCH

 Message:  cannot watch protect address address_value

 Severity:  Error.

 Explanation:  A SET WATCH  command  specified  a  protected  address.
     Note  that  you  cannot  place  a  watchpoint  on  a  dynamically
     allocated variable because these  variables  are  stored  on  the
     stack.

 User Action:  Do not use watchpoint on this address.

BASVARNOTSET

 Message:  base variable not set up yet

 Severity:  Warning.

BITRANGE

 Message:  bit range out of limits

 Severity:  Error.

 Explanation:  The EVALUATE command specified a bit field that is  too
     wide.

 User Action:  The low limit of the bit field is 0 and the high  limit
     is 31; the maximum range is 31:0.

BUFFEROVF

 Message:  buffer overflow

 Severity:  Error.

 Explanation:  This message indicates an internal debugger error.

 User Action:  Submit a Software Performance Report.

BWLGISMUS

 Message:  B, W, L, G,  I,  or  S  must  precede  For  operand  number
     operand_number

 Severity:  Error.

CANTACCESSMAIN

 Message:  cannot access the main debugger

 Severity:  Fatal.

 Explanation:  The kernel debugger (DEBUG.EXE) cannot access the  main
     debugger  (DEBUGSHR.EXE).   The  reason  is  given in the message
     following this message.

 User Action:  Correct the problem given  by  the  messages  following
     this message.  If the problem cannot be solved, submit a Software
     Performance Report.

CANTGETFID

 Message:  cannot  get  file-id  for  image  file  opened  on  channel
     channel-number

 Severity:  Fatal.

 Explanation:  An error occurred while trying to get  the  file-id  of
     the  image  file opened on channel channel-number.  The reason is
     given in the message following this message.

 User Action:  Correct the problem given  by  the  messages  following
     this message.  If the problem cannot be solved, submit a Software
     Performance Report.

CANTOPNIMG

 Message:      cannot      open      image      image_name      (File:
     device_name:(file_id,file_id,file_id))

 Severity:  Informational.

CIREXLST

 Message:  command  aborted  after  number_of_handlers  exit  handlers
     displayed circular exit handler list suspected

 Severity:  Error.

 Explanation:  After displaying information about 100  exit  handlers,
     the debugger suspects a circular exit handler list.

 User Action:  If there is a circular exit handler list, then identify
     and correct the error in the user program.

CMDSYNERR

 Message:  command syntax error at or near 'DEBUG_command_segment'

 Severity:  Warning.

CMPNOTFND

 Message:  specified component not found in this type

 Severity:  Warning.

CONFLICT

 Message:   illegal  combination   of   command   elements   -   check
     documentation

 Severity:  Warning.

CONFROMEXC

 Message:  warning:  you are continuing from a severe error

 Severity:  Informational.

CONSTRCOMP

 Message:  illegal deposit to a constrained record component

 Severity:  Error.

CPOSTDECR

 Message:  side effect on post-decrement operation not performed

 Severity:  Informational.

CPOSTINCR

 Message:  side effect on post-increment operation not performed

 Severity:  Informational.

CPREDECR

 Message:  side effect on pre-decrement operation not performed

 Severity:  Informational.

CPREINCR

 Message:  side effect on pre-increment operation not performed

 Severity:  Informational.

CRMPSCFAIL

 Message:  failed to map-in Debug Symbol Table (DST)

 Severity:  Informational.

CVTNEGUNS

 Message:  cannot convert negative value to unsigned value at or  near
     opcode_name

 Severity:  Warning.

DBGERR

 Message:   internal  debugger  coding  error;  DEBUG  base   address:
     address_value; DEBUGSHR base address:  address_value

 Severity:  Error.

 Explanation:  An internal debugger error has been encountered.

 User Action:   If  the  error  is  reproducible,  submit  a  Software
     Performance  Report  and, if possible, enclose both a copy of the
     program being  debugged  and  a  logged  debugging  session  that
     reproduces the error.

DECLARERR

 Message:  too many declarations, parameter_name ignored

 Severity:  Warning.

DECOVF

 Message:  decimal overflow at or near opcode_name

 Severity:  Error.

DECROPRAND

 Message:  illegal packed or decimal string  value  (Reserved  Operand
     fault occurred during conversion)

 Severity:  Error.

DEFKEY

 Message:  state_name key key_name has been defined

 Severity:  Informational.

DEFKEYERR

 Message:  error in processing DEFINE/KEY command:

 Severity:  Warning.

DELBREAK

 Message:  deleting breakpoint at address_value

 Severity:  Informational.

DELKEY

 Message:  state_name key key_name has been deleted

 Severity:  Informational.

DELKEYERR

 Message:  error in processing DELETE/KEY command:

 Severity:  Warning.

DELTIMTOO

 Message:  delta time too large

 Severity:  Error.

DELTRACE

 Message:  deleting tracepoint at address_value

 Severity:  Informational.

DESCNOTSET

 Message:  descriptor not set up yet

 Severity:  Warning.

DISABLEAST

 Message:  ASTs were enabled, are now disabled

 Severity:  Informational.

DISNOTSEL

 Message:  display not selected because removed from screen

 Severity:  Error.

DISPEXISTS

 Message:  display_name display already exists; cannot  be  set  until
     cancelled

 Severity:  Error.

DISPRLENSIZ

 Message:  length of display_name display cannot exceed  maximum  size
     increase /SIZE or specify fewer lines

 Severity:  Error.

DIVBYZERO

 Message:  attempted to divide by zero

 Severity:  Error.

DSTERRG

 Message:  error in DST (compiler error).  GOTO DST has been ignored

 Severity:  Informational.

DSTNESDEP

 Message:  DST nesting depth too deep in module path_name

 Severity:  Error.

 Explanation:  Debug Symbol Table nesting depth is  too  deep  in  the
     specified  module.  This occurs if routine nesting or data record
     nesting is very deep in the user program.

 User Action:  Simplify the user program and run again.

DYNIMGSET

 Message:  setting image image_name

 Severity:  Informational.

DYNMODSET

 Message:  setting module path_name

 Severity:  Informational.

EDITDISVER

 Message:  the original version is file_specification

 Severity:  Informational.

EDITERROR

 Message:  error while trying to EDIT

 Severity:  Informational.

EDITFILE

 Message:  editing file file_specification

 Severity:  Informational.

EDITNOFILE

 Message:  no source file to use for editing

 Severity:  Informational.

EDITREVVER

 Message:  editing a revised version of the original source file

 Severity:  Informational.

ENABLEAST

 Message:  ASTs were disabled, are now enabled

 Severity:  Informational.

ENTRYMASK

 Message:  entry mask has non-zero value in bits 12:13

 Severity:  Informational.

ENUMRANGE

 Message:  enumeration value out of range

 Severity:  Informational.

ERRASSIGN

 Message:  the attempt to acquire an  I/O  channel  for  the  debugger
     failed

 Severity:  Informational.

 Explanation:  A bad status was returned from a $ASSIGN type of  call.
     This message should be issued in the $DBG_INFO context.

 User Action:  The debugger needs to acquire I/O channels to  do  I/O.
     In  this  case  the  debugger  failed  to acquire such a channel.
     Check your process quotas.

ERRCLSFILE

 Message:  unable to close file

 Severity:  Informational.

 Explanation:  A bad status was returned from a call to close a  file.
     This message should be issued in the $DBG_INFO context.

 User Action:  The debugger failed to close a file.  Unless the reason
     for this is apparent, submit a Software Performance Report (SPR).

ERRCRELNM

 Message:  unable to create a logical name

 Severity:  Informational.

 Explanation:  The debugger creates logical names for input and output
     redirection.   This  message  should  be  issued in the $DBG_INFO
     context.

 User Action:  Submit a Software Performance Report (SPR).

ERRDEASSIGN

 Message:  attempt to deassign an I/O channel acquired by the debugger
     failed

 Severity:  Informational.

 Explanation:  The debugger wanted to deassign an I/O channel that  is
     acquired  for internal purposes.  This error notes the failure of
     the  SYS$DASSGN  system  service,  probably  due  to  an  invalid
     channel.

 User Action:  Submit a Software Performance Report (SPR).

ERRFAO

 Message:  unable to format output string

 Severity:  Informational.

 Explanation:  An error was returned from a call to $FAO.

 User Action:  Submit a Software Performance Report (SPR).

ERRGETDVI

 Message:  unable to get device information

 Severity:  Informational.

 Explanation:  The debugger needed some information from  $GETDVI  and
     the  call  failed.  This indicates a programming error.  No doubt
     bad parameters were passed in.

 User Action:  Submit a Software Performance Report (SPR).

ERRGETEF

 Message:  attempt to allocate an event flag failed

 Severity:  Informational.

 Explanation:  The debugger wanted to allocate a local event flag  for
     its  own  use,  but the routine called to allocate the event flag
     failed.  This message is usually issued in the $DBG_INFO context.

 User Action:  The debugger needs event flags to operate.   Check  the
     program being debugged for excessive allocation of event flags.

ERRINSDEC

 Message:  error occurred while decoding instruction at current PC

 Severity:  Informational.

ERRINVEDIT

 Message:  error invoking editor

 Severity:  Informational.

 Explanation:  While trying to invoke  an  editor  a  bad  status  was
     returned.

 User Action:  Is the requested editor available and working properly?
     If so, submit a Software Performance Report (SPR).

ERROR

 Message:  internal debugger error detected

 Severity:  Error.

 Explanation:  This message indicates an internal debugger error.

 User Action:  Correct the problem given  by  the  messages  following
     this message.  If the problem cannot be solved, submit a Software
     Performance Report.

ERRQIOW

 Message:  error from $QIOW

 Severity:  Informational.

 Explanation:  A bad status was returned from a call to $QIOW.

 User Action:  Submit a Software Performance Report (SPR).

ERRSMG

 Message:  error  returned  from  a  call  to  the  Screen  Management
     Facility (SMG)

 Severity:  Informational.

 Explanation:  A bad status was returned from a  call  to  SMG.   This
     could be a result of any number of things which may or may not be
     a debugger problem.

 User Action:  Check  the  user  program  for  potential  interactions
     between  it  and  the  debugger; pasteboard sharing and the like.
     Also, check the set up of the terminal which might cause SMG some
     problem.   If  the  error  still  cannot  be  explained  submit a
     Software Performance Report (SPR).

ERRSYSSERV

 Message:  error returned from an  internal  debugger  system  service
     call

 Severity:  Informational.

 Explanation:  A bad status was returned  from  a  call  to  a  system
     service.   This  message is to be in the context of the $DBG_INFO
     macro which will list the particular system service.

 User Action:  Submit a Software Performance Report (SPR).

ERRUSREVNT

 Message:  error in user-specified event

 Severity:  Error.

EXARANGE

 Message:  invalid range of addresses

 Severity:  Error.

EXCDURCAL

 Message:   error  occurred  while  executing  routine   called   from
     exception break

 Severity:  Error.

 Explanation:  While executing a  routine  called  from  an  exception
     break  using  the  CALL  command,  an  exception  occurred.   Any
     exceptions from routines called from  an  exception  break  cause
     this  message  to  be  displayed  followed  by  the  text  of the
     exception.  Execution of the called routine is then terminated.

 User Action:  Either correct the CALL command if it was in error,  or
     correct  the  routine  that  caused  the  exception.   To use the
     debugger to help find the cause of the exception, try calling the
     routine while not at an exception break.

EXITARG

 Message:  exitloop argument num_levels is too large

 Severity:  Warning.

EXITSTATUS

 Message:  is 'status_value'

 Severity:  Informational.

 Explanation:  The program has exited with  the  status  status_value.
     See the <REFERENCE>(VMS_SYSROUT_R) for more information about the
     VMS exit status codes.

 User Action:  None.

FILEUNAL

 Message:  file not available

 Severity:  Warning.

FLTOVF

 Message:  floating overflow at or near opcode_name

 Severity:  Error.

GETJPI

 Message:  GETJPI system service failed, unable to attach

 Severity:  Error.

HEIGHTDIFF

 Message:  desired height of specified_height is not  allowed,  height
     is set to actual_height

 Severity:  Informational.

IDENTLONG

 Message:  identifier too long, please shorten

 Severity:  Error.

IFIXUND

 Message:  precision lost during fixed point operation

 Severity:  Informational.

IFLTUND

 Message:  floating underflow at or near opcode_name

 Severity:  Informational.

IINTOVF

 Message:  integer overflow at or near opcode_name

 Severity:  Informational.

ILLADDCON

 Message:  illegal constant constant_name in address expression

 Severity:  Warning.

ILLASTER

 Message:  subscript range ('*') not permitted here (must be at lowest
     level of data structure)

 Severity:  Warning.

ILLDEFNAM

 Message:  illegal name for DEFINE:  defined_name

 Severity:  Warning.

ILLENUMVAL

 Message:  enumeration value out of legal range

 Severity:  Warning.

ILLFILPTR

 Message:  file variable points to invalid file descriptor

 Severity:  Warning.

ILLFLOAT

 Message:  float_value is an illegal floating point value

 Severity:  Warning.

ILLLENGTH

 Message:  illegal length field length_value in structure reference

 Severity:  Warning.

ILLPACSIZ

 Message:  illegal packed size size_value; must be 0..31

 Severity:  Warning.

ILLPATH1

 Message:  illegal use of %SOURCE_SCOPE (must  not  be  combined  with
     invocation numbers)

 Severity:  Warning.

ILLPATH2

 Message:  illegal use of %SOURCE_SCOPE (must appear at the  start  of
     the pathname)

 Severity:  Warning.

ILLPATHELEM

 Message:  illegal pathname element at path_name

 Severity:  Error.

ILLPOSFLD

 Message:  position field value position_value is too large

 Severity:  Warning.

ILLQUALIF

 Message:  illegal or unsupported qualifier on SPAWN command

 Severity:  Warning.

ILLRANGE

 Message:  subscript range not permitted here (must be at lowest level
     of data structure)

 Severity:  Warning.

ILLSETCON

 Message:  illegal set constant in expression

 Severity:  Warning.

ILLSIGEXT

 Message:  illegal sign extension field value extension_value

 Severity:  Warning.

 Explanation:   An  illegal  value  has  been  entered  for  the  sign
     extension field in a field reference.

 User Action:  Reenter the command using a valid sign extension  field
     value.

ILLSIZFLD

 Message:  illegal size field size_value; must be 0..32

 Severity:  Warning.

ILLSUBLEN

 Message:  substring length larger than 64K not supported

 Severity:  Warning.

ILLSUBSTR

 Message:  can only apply substring operation to string data types

 Severity:  Warning.

ILLTYPE

 Message:  illegal type of operand(s)

 Severity:  Warning.

 Explanation:  The type of the operand is  illegal  for  the  operator
     specified.

 User Action:  Change the operand.

INCDSTNES

 Message:  incorrect DST nesting in module path_name, compiler error

 Severity:  Error.

 Explanation:  Incorrect Debug Symbol Table nesting occurred, such  as
     improper  routine or data record nesting in the specified module.
     This message normally indicates a compiler error.

 User Action:  Submit a Software Performance Report.

INCOMPOPR

 Message:  operand number operand_number incomplete

 Severity:  Error.

INCOMPPTR

 Message:  pointers of different size, cannot perform subtraction

 Severity:  Warning.

INCOMQUAL

 Message:    qualifier   qualifier_name   is   not   compatible   with
     qualifier_name(s)

 Severity:  Warning.

INDBASEQL

 Message:  index and base  registers  are  equal  for  operand  number
     operand_number

 Severity:  Error.

INITIAL

 Message:  language is language_name, module set to path_name

 Severity:  Informational.

 Explanation:  This message is displayed when the debugger is  invoked
     by  the  image  activator.  The language is set to language_name,
     and the module to  path_name.   Module  path_name  is  the  first
     module  specified in the LINK command, and language language_name
     is the language used in that module.

 User Action:  None.

INPREADERR

 Message:  error reading input line:

 Severity:  Warning.

INSVIRMEM

 Message:  insufficient virtual memory for debugger memory pool

 Severity:  Informational.

INTERR

 Message:  internal debugger error in DEBUG_routine_name

 Severity:  Error.

 Explanation:  An internal debugger error has been encountered.

 User Action:   If  the  error  is  reproducible,  submit  a  Software
     Performance  Report  and, if possible, enclose both a copy of the
     program being  debugged  and  a  logged  debugging  session  that
     reproduces the error.

INTMEMERR

 Message:  internal memory-pool error

 Severity:  Fatal.

 Explanation:  The debugger's internal memory area has been  corrupted
     or  is  inconsistent.  This can be caused by an internal debugger
     error or by random stores by the user program.

 User  Action:   Correct  the  user  program  or  submit  a   Software
     Performance Report.

INTOVF

 Message:  integer overflow at or near opcode_name

 Severity:  Error.

INUMTRUNC

 Message:  number truncated at or near opcode_name

 Severity:  Informational.

INVARGLIS

 Message:  invalid argument list for 'DEBUG_command_segment'

 Severity:  Warning.

INVARRDIM

 Message:  array dimension is out of range

 Severity:  Warning.

INVARRDSC

 Message:  invalid array descriptor

 Severity:  Error.

 Explanation:  An array descriptor in the  image  does  not  have  the
     correct format.  This can be caused by a reference to a VAX BASIC
     array when the first line of the program has not  been  executed.
     The  array  is  not  set  up  correctly  until  the BASIC program
     initialization is done.  This message can also  be  caused  by  a
     user  program  or a DEPOSIT command altering a compiler generated
     array descriptor.

 User Action:  If the reference is to a VAX BASIC array, enter a  STEP
     or  GO command to ensure that the BASIC program initialization is
     done and then repeat  the  reference.   Otherwise,  if  an  array
     descriptor  has  not  been altered, submit a Software Performance
     Report.

INVCHAR

 Message:  invalid character

 Severity:  Error.

INVCHRCON

 Message:  invalid character constant in expression

 Severity:  Error.

INVDESC

 Message:  invalid string descriptor

 Severity:  Error.

 Explanation:  This message indicates an internal debugger error.

 User Action:  Submit a Software Performance Report.

INVDIGBIN

 Message:  invalid digit in binary number:  number_value

 Severity:  Error.

INVDIGDEC

 Message:  invalid digit in decimal number:  number_value

 Severity:  Error.

INVDIGHEX

 Message:  invalid digit in hexadecimal number:  number_value

 Severity:  Error.

INVDIGOCT

 Message:  invalid digit in octal number:  number_value

 Severity:  Error.

INVDIRNAM

 Message:  invalid directory name:  file_specification

 Severity:  Error.

 Explanation:  The directory name 'file_specification' given in a  SET
     SOURCE  command  is  not  valid.   Either the directory syntax is
     incorrect or the directory does not exist.

 User Action:  Ensure that the directory exists and that the syntax is
     correct.

INVDMTPTR

 Message:  invalid DMT pointer; internal linker or debugger error

 Severity:  Informational.

INVDSPSIZ

 Message:  invalid display size:  display_size

 Severity:  Error.

INVDSTREC

 Message:  invalid DST record

 Severity:  Error.

INVEXPR

 Message:  invalid expression for operand number operand_number

 Severity:  Error.

INVFIXDST

 Message:  invalid DST  fixup  records  in  image  image_name,  symbol
     references to shareable images may be erroneous

 Severity:  Informational.

 Explanation:  While attempting to read the Debug Symbol  Table  (DST)
     in  the  specified  image,  the  debugger found errors in the DST
     address fixup records.  These records are used to adjust for  the
     base  addresses of shareable images.  This means that any symbols
     in this image which  point  to  addresses  in  other  (shareable)
     images  will  most  likely  be incorrect.  Symbols which refer to
     addresses in this image will be correct unless  this  is  also  a
     shareable image.

 User Action:  Relink the image and, if  the  error  is  reproducible,
     submit  a  Software  Performance  Report explaining how the image
     file was created.

INVFLDREF

 Message:  invalid field reference; too many or few parameters

 Severity:  Warning.

INVGSTREC

 Message:  invalid GST record

 Severity:  Error.

INVGSTTYP

 Message:  invalid GST record; GST is partially built

 Severity:  Informational.

INVMAR

 Message:  right margin must be greater than left

 Severity:  Warning.

 Explanation:  You specified a right margin that  was  less  than  the
     left  margin  in  a SET MARGIN command.  The right margin must be
     greater than the left margin.

 User Action:  Reenter the command specifying a valid margin range.

INVNUMBER

 Message:  invalid numeric string 'number_value'

 Severity:  Error.

INVNUMSRC

 Message:  invalid number of source files

 Severity:  Warning.

 Explanation:  An invalid number of source files  was  specified  with
     the  SET  MAX_SOURCE_FILES command.  The maximum number of source
     files that the debugger will keep open simultaneously must be  in
     the        range of 1 through 20.

 User Action:  Reenter the command specifying a  valid  number  within
     the range.

INVNUMSTR

 Message:  invalid numeric string at or near 'number_value'

 Severity:  Error.

INVOPADDR

 Message:  invalid operator 'operator_symbol' in address expression

 Severity:  Error.

INVOPSYM

 Message:  invalid operator symbol 'operator_symbol' in expression

 Severity:  Error.

INVPAGE

 Message:  invalid screen height, value must be between minimum_height
     and maximum_height

 Severity:  Error.

INVPRIOR

 Message:  invalid task priority value specified

 Severity:  Error.

INVRANSPEC

 Message:  invalid range specification in array subscript

 Severity:  Warning.

INVSELDIS

 Message:  invalid selection of display_name  display;  wrong  display
     kind

 Severity:  Error.

INVSRCLIN

 Message:  invalid source line range

 Severity:  Warning.

 Explanation:  An invalid source line range was entered with the  TYPE
     command.  The first line number of the range must be non-negative
     and less than or equal to the second number in the range.

 User Action:  Reenter the command  specifying  a  valid  line  number
     range.

INVTIMSLI

 Message:  time slice was not set, parameter is out of  range  of  Ada
     type DURATION

 Severity:  Error.

INVWIDTH

 Message:  invalid screen width, value must be  between  minimum_width
     and maximum_width

 Severity:  Error.

INVWINPAR

 Message:  invalid window parameter:  number_value

 Severity:  Error.

IRFAOVF

 Message:  record file address overflow at or near opcode_name

 Severity:  Informational.

ISTRTRU

 Message:  string truncated at or near opcode_name

 Severity:  Informational.

IVALOUTBNDS

 Message:  value assigned is out of bounds at or near opcode_name

 Severity:  Informational.

LASTCHANCE

 Message:  stack exception handlers lost, re-initializing stack

 Severity:  Error.

 Explanation:  The user's program contained an error that  caused  the
     exception handling mechanism to fail.  This error occurs when the
     stack is overwritten by the user program or by deposit commands.

 User Action:  Identify and correct the error in the user program.

LINEINFO

 Message:  line_description

 Severity:  Informational.

 Explanation:  This is either 'No line information available', or  'No
     line  <line_number,  !UL>,  previous  line is <line_number, !UL>,
     next line is <line_number, !UL>'

LONGSTRING

 Message:  strings longer than 2**16 characters not supported

 Severity:  Warning.

LOOPINCR

 Message:  loop increment cannot be zero

 Severity:  Warning.

LOOPVAR

 Message:  loop var loop_variable has been redefined; exiting for loop

 Severity:  Informational.

LOWBNDOPT

 Message:  lower bound of subrange was optimized away

 Severity:  Informational.

MATQUOMIS

 Message:  matching quote is missing

 Severity:  Warning.

 Explanation:  The matching quote at the end of  a  quoted  string  is
     missing.

 User Action:  Correct the error and reenter the command.

MISCLOSUB

 Message:  missing closing subscript parenthesis

 Severity:  Warning.

MISINVNUM

 Message:  misplaced invocation number in path_name

 Severity:  Warning.

 Explanation:   The  invocation  number  was  not  placed  after   the
     innermost (rightmost) routine name in the specified pathname.

 User Action:  Correct the pathname and reenter the command.

MISINVOPER

 Message:  missing or invalid operator at 'operator_symbol'

 Severity:  Error.

MISMODBEG

 Message:  missing Module-Begin record in DST (compiler error)

 Severity:  Informational.

 Explanation:  An expected Module-Begin record was not  found  in  the
     Debug  Symbol  Table.   This  indicates  a  probable error in the
     compiler output.

 User Action:  Submit a Software Performance Report.

MISMODEND

 Message:  missing Module-End in DST for path_name (compiler error)

 Severity:  Informational.

 Explanation:  An expected Module-End record  was  not  found  in  the
     Debug  Symbol  Table.   This  indicates  a  probable error in the
     compiler output.

 User Action:  Submit a Software Performance Report.

MISOPEMIS

 Message:  misplaced operator or missing operand at 'operator_symbol'

 Severity:  Error.

MODUSCOPE

 Message:  a module name was expected; path_name not valid

 Severity:  Warning.

NAMSTRMIS

 Message:  name string missing or invalid in %NAME construct

 Severity:  Error.

NAMTOOLONG

 Message:  name is too long:  'symbol_name'

 Severity:  Error.

NEEDMORE

 Message:  unexpected end of command line

 Severity:  Warning.

 Explanation:  The command entered was not complete.  A required  part
     of the command was omitted.

 User Action:  Reenter the complete command.

NEEDPAREN

 Message:  parenthesis required in THEN, ELSE, and DO clauses

 Severity:  Informational.

NOACCESSR

 Message:  no read access to virtual address address_value

 Severity:  Error.

NOACCESSW

 Message:  no write access to virtual address address_value

 Severity:  Error.

 Explanation:  A DEPOSIT, SET BREAK, or SET  TRACE  command  specified
     the  address  address_value.   The  debugger  does not have write
     access to that page.  The debugger requires write access in order
     to be able to set up breakpoints and tracepoints.

 User Action:  None.  You cannot do the  requested  operation  without
     proper access.

NOADDRREG

 Message:   register  register_name  does  not  have  an  address  use
     @register_name to obtain the contents of register register_name

 Severity:  Warning.

NOALTERSP

 Message:  deposit into register 14 (stack pointer) not allowed

 Severity:  Informational.

NOATTACH

 Message:  attach command failed

 Severity:  Error.

NOBREAGGR

 Message:  breakpoints or tracepoints on records  or  arrays  are  not
     allowed

 Severity:  Error.

NOBREAKAT

 Message:   cannot   set   breakpoint   or   tracepoint   at   address
     address_value

 Severity:  Warning.

NOBREAKS

 Message:  no breakpoints are set

 Severity:  Informational.

 Explanation:  The SHOW BREAK command was entered and  no  breakpoints
     were set.

 User Action:  None.

NOCALLS

 Message:  no active call frames

 Severity:  Error.

NOCANMAIN

 Message:  cannot cancel main image

 Severity:  Warning.

NOCLI

 Message:  no CLI present to perform function

 Severity:  Error.

 Explanation:  There is no command  line  interpreter  in  the  target
     process from which to perform the operation.

 User Action:  None.  You cannot perform the attempted operation.

NOCURLOC

 Message:  current location not defined

 Severity:  Warning.

 Explanation:  '.' is not currently defined.

 User  Action:   Do  not   reference   '.'   until   an   EXAMINE   or
     EVALUATE/ADDRESS command has been performed.

NODELIMTR

 Message:  missing or invalid instruction operand delimiter

 Severity:  Error.

 Explanation:  A DEPOSIT  command  specified  an  invalid  instruction
     operand format.

 User Action:  Reenter the command with valid operands.

NODEPDEBUG

 Message:  DEPOSIT into the debugger's address space is not allowed

 Severity:  Warning.

NODIRLISM

 Message:  no source directory list in effect for path_name

 Severity:  Warning.

 Explanation:   The  command  CANCEL  SOURCE/MODULE=path_name   failed
     because  there  is  no source directory search list in effect for
     module path_name.

 User Action:  This is an  informational  message.   However,  if  the
     wrong  module was specified, the command should be reentered with
     the correct name.

NODIRLIST

 Message:  no source directory list in effect

 Severity:  Warning.

 Explanation:  The CANCEL SOURCE command  had  no  effect  because  no
     source directory search list is currently in effect.

 User Action:  None.  This message is informational.

NOELABBODY

 Message:  package body path_name has no executable code

 Severity:  Warning.

NOELABSPEC

 Message:  package spec path_name has no executable code

 Severity:  Warning.

NOEND

 Message:   string  beginning  with  'string_value'  is  missing   end
     delimiter delimiter_character

 Severity:  Error.

 Explanation:   A  DEPOSIT  command  specified  an  ASCII  string   or
     INSTRUCTION string beginning with characters string_value that do
     not have a terminating apostrophe.

 User Action:   Reenter  the  command  with  characters  containing  a
     terminating apostrophe.

NOEVALEXPR

 Message:  unable to evaluate expression for following reason

 Severity:  Informational.

NOEVENTFAC

 Message:  /EVENT  qualifier  not  allowed:   first  type  'SET  EVENT
     facility' to specify an event facility

 Severity:  Error.

NOEXHND

 Message:  no exit handlers are declared

 Severity:  Informational.

NOFIELD

 Message:  'field_name' is not a field in this record

 Severity:  Warning.

 Explanation:  An attempt was made to reference a field  that  is  not
     defined in the record.

 User Action:  Check the field specified to ensure that it is  defined
     in the record.

NOFREE

 Message:  no free storage available

 Severity:  Error.

NOGLOBALS

 Message:  some or all global symbols not accessible

 Severity:  Informational.

 Explanation:  The image was linked with the /NODEBUG  qualifier,  and
     there are no global symbols in the symbol table.  LINK/NODEBUG is
     equivalent to LINK/TRACEBACK.  This is the default for  the  LINK
     command.

 User Action:  Relink the image with the /DEBUG qualifier.

NOINSTRAN

 Message:  cannot translate opcode at location address_value

 Severity:  Error.

 Explanation:  The address specified in the EXAMINE command is not the
     beginning  of  a  valid  VAX  instruction.  This can be caused by
     specifying an address that is in the middle of an instruction  or
     by an address that is in a data area.

 User Action:  Specify an address that contains a valid instruction.

NOKEYDEF

 Message:  cannot do keypad input, mode is set to NOKEYPAD

 Severity:  Warning.

NOKEYPAD

 Message:  unable to set up keypad definitions

 Severity:  Informational.

NOLASTVAL

 Message:  last value is not defined

 Severity:  Warning.

 Explanation:  '\' is not currently defined.

 User Action:  Do not  reference  '\'  until  a  DEPOSIT  or  EVALUATE
     command has been performed.

NOLINXXX

 Message:  line_descriptor

 Severity:  Warning.

 Explanation:  The line number range xxx:yyy specified with  the  TYPE
     command  does  not  exist.  There are no such line numbers in the
     specified module (or the default module).

 User Action:  Reenter the command specifying  line  numbers  that  do
     exist.

NOLOCALS

 Message:  image does not contain local symbols

 Severity:  Informational.

 Explanation:  All the modules in the image were compiled or assembled
     without local symbol or traceback information.  There is no local
     symbol information in the image.

 User Action:  Recompile or reassemble the modules  using  the  /DEBUG
     qualifier and then relink them.

NOMARKCHNG

 Message:  [NO]MARK_CHANGE qualifier not  applicable  to  display_name
     display

 Severity:  Informational.

NOMATCH

 Message:  no matches

 Severity:  Warning.

NOMORE

 Message:  wildcard request complete

 Severity:  Warning.

 User Action:  This  is  a  debugger  internal  error  code.   If  the
     debugger  reports  this error, then submit a Software Performance
     Report.

NONEXPR

 Message:  nonexistent process

 Severity:  Error.

 Explanation:  A process name or process identification specified in a
     command is not valid.

 User Action:  Verify that  the  process  name  or  identification  is
     correct  and  that  the  process  was  not already deleted.  Also
     verify that  you  have  the  required  privilege  to  access  the
     process.

NONUMSCOPE

 Message:  scope does not exist or is not in set module:  scope_number

 Severity:  Informational.

NONXTLIN

 Message:  next line for source display not defined

 Severity:  Warning.

 Explanation:  A TYPE or SEARCH command was entered without specifying
     a  line  number (for example, the next line after the last source
     line printed should  be  used).   But  no  next  source  line  is
     currently defined.

 User Action:  Reenter the command explicitly specifying  the  desired
     line number.

NOOCCLDISP

 Message:  display_name display may not be occluded

 Severity:  Informational.

NOPACKMEMBODY

 Message:  'symbol_name' is not a member of package body path_name

 Severity:  Warning.

NOPACKMEMSPEC

 Message:  'symbol_name' is not a member of package spec path_name

 Severity:  Warning.

NOPRED

 Message:  logical predecessor not defined

 Severity:  Warning.

 Explanation:   The  logical  predecessor   of   the   identifier   or
     instruction referenced is not defined.

 User Action:  None.  This message is informational.

NOPROMPT

 Message:  cannot delete, remove, unselect,  or  change  kind  of  the
     display_name display

 Severity:  Informational.

NORMAL

 Message:  successful DEBUG status

 Severity:  Success.

NORSTBLD

 Message:  cannot build symbol table

 Severity:  Error.

 Explanation:  The debugger is unable to build a symbol table  because
     of errors in the format of the image file.

 User Action:  Relink the image and, if  the  error  is  reproducible,
     submit  a  Software  Performance  Report explaining how the image
     file was created.

NOSAVPROG

 Message:  cannot save a program I/O display

 Severity:  Informational.

NOSCOPE

 Message:  no scope exists to look up line line_number

 Severity:  Error.

 Explanation:  The specified line_number cannot be found because there
     is no current scope to look it up in.

 User Action:  Specify the module explicitly and retry the operation.

NOSCRDEV

 Message:  screen mode is not supported on  this  device  screen  mode
     output is being lost

 Severity:  Informational.

NOSCRMODE

 Message:  screen mode is not supported on this terminal  screen  mode
     is not set

 Severity:  Warning.

NOSCROLL

 Message:  no scrolling display selected or missing display name

 Severity:  Error.

NOSCROLLDISP

 Message:  display_name display may not be scrolled

 Severity:  Informational.

NOSETTERM

 Message:  the SET TERMINAL command is not supported on this terminal

 Severity:  Warning.

NOSPAWN

 Message:  spawn command failed

 Severity:  Error.

NOSRCHSTR

 Message:  search string not set

 Severity:  Warning.

 Explanation:  No current search string  is  defined  for  the  SEARCH
     command.   The SEARCH command was entered without a search string
     indicating that the current search string should be used.  But no
     previous  SEARCH  command  has  been  entered to define a current
     search string.

 User Action:  Explicitly specify the desired  search  string  on  the
     command.

NOSRCLIN

 Message:  no source line for address address_value

 Severity:  Warning.

 Explanation:  No source line corresponds to the address address_value
     specified with the EXAMINE/SOURCE command.

 User Action:  None.  This message is informational.

NOSTEPGO

 Message:  no STEP, GO, or CALL commands allowed in screen displays

 Severity:  Error.

NOSUCC

 Message:  logical successor not defined

 Severity:  Warning.

 Explanation:  The logical successor of the referenced instruction  or
     identifier is not defined.

 User Action:  None.  This message is informational.

NOSUCHBPT

 Message:  no such breakpoint

 Severity:  Informational.

 Explanation:  The CANCEL BREAK command specified an address  that  is
     not the address of a breakpoint.

 User Action:  Use the SHOW BREAK command to find the location of  the
     current  breakpoints,  and  then  cancel any of these breakpoints
     that you want to cancel.

NOSUCHDISP

 Message:  no such display defined:  display_name

 Severity:  Error.

NOSUCHELP

 Message:  no such help topic or invalid HELP command

 Severity:  Warning.

NOSUCHIMG

 Message:  image image_name not found

 Severity:  Error.

NOSUCHMODU

 Message:  module path_name is not in module chain

 Severity:  Error.

 Explanation:  The module  path_name,  specified  in  the  SET  MODULE
     command, does not exist in the image.  This message can be caused
     when:  (1) a module name has been entered incorrectly  or  (2)  a
     module is compiled with the /NOTRACE switch.

 User Action:  Specify a module that is in the image.

NOSUCHPACK

 Message:  library package path_name is not in the symbol table

 Severity:  Warning.

NOSUCHSCOPE

 Message:  scope does not exist or is not in set module:  scope_name

 Severity:  Warning.

NOSUCHTASK

 Message:  no such task exists or no task satisfies criteria

 Severity:  Error.

NOSUCHTPT

 Message:  no such tracepoint

 Severity:  Informational.

 Explanation:  The CANCEL TRACE command specified an address that  was
     not the address of a tracepoint.

 User Action:  Use the SHOW  TRACE  command  to  display  the  current
     tracepoints and then cancel any that you want to cancel.

NOSUCHWIND

 Message:  no such window defined:  display_name

 Severity:  Error.

NOSUCHWPT

 Message:  no such watchpoint

 Severity:  Informational.

 Explanation:  The CANCEL WATCH command specified an address that  was
     not the address of a watchpoint.

 User Action:  Use the SHOW  WATCH  command  to  display  the  current
     watchpoints and then cancel any that you want to cancel.

NOSYMBOL

 Message:  symbol 'symbol_name' is not in the symbol table

 Severity:  Error.

NOSYMBOLR

 Message:  no symbol 'symbol_name' was declared in routine path_name

 Severity:  Warning.

NOTADAPROG

 Message:  program is not an ADA program; command ignored

 Severity:  Error.

NOTARRAY

 Message:  type of variable is not array

 Severity:  Warning.

 Explanation:  The variable being treated as an  array  has  not  been
     defined as one.

 User Action:  Check that the  correct  variable  reference  is  being
     made.

NOTASTRUCT

 Message:  'symbol_name' was not declared as a structure

 Severity:  Error.

 Explanation:  A VAX BLISS-32 structure reference specified  a  symbol
     symbol_name that was not declared a structure.

 User Action:  Reenter the command with a valid symbol reference.

NOTATMAIN

 Message:  type GO to get to start of main program

 Severity:  Informational.

NOTCURPC

 Message:  target of EXAMINE/OPERANDS is not the  current  PC  results
     may be unexpected

 Severity:  Informational.

 Explanation:   The  operands  being  examined  will   probably   give
     incorrect  results,  because  the  context for the instruction is
     probably not  set  up  properly.   Specifically,  the  values  of
     registers  used  in  address  computations depend on the previous
     series of instructions being executed, which was not done in this
     case.

 User Action:  Only use EXAMINE/OPERANDS with .0\%PC

NOTDEFINE

 Message:  defined_symbol was not defined

 Severity:  Informational.

NOTIMPLAN

 Message:  expression_type is not implemented at command level

 Severity:  Error.

 Explanation:  The expression_type is not supported at this type.

 User  Action:   Specify  a  type  of  expression  that  the  debugger
     supports.

NOTINLOOP

 Message:  exitloop encountered when not in a loop

 Severity:  Warning.

NOTINST

 Message:  examined address is not the start of an instruction

 Severity:  Informational.

NOTORIGSRC

 Message:  original version of source file  not  found  file  used  is
     file_specification

 Severity:  Informational.

 Explanation:  A source file was  found  for  some  module.   But  the
     revision  date  and time or the file size indicates that this may
     not be the same version of the file that was used in the original
     compilation  of  the module.  This warning message indicates that
     future source  line  displays  from  this  source  file  may  not
     correspond to the actual source used to compile the module.

 User Action:  None, unless the original source  is  available.   Then
     you  can  use  the SET SOURCE command to indicate the location of
     the source to DEBUG.

NOTPTR

 Message:  variable must be of pointer or file type

 Severity:  Warning.

 Explanation:  The variable should be a pointer or a file type.

 User Action:  Specify a variable of pointer or file type.

NOTRACES

 Message:  no tracepoints are set, no opcode tracing

 Severity:  Informational.

 Explanation:  There are no tracepoints or opcode tracing set.

 User Action:  None.  This message is informational.

NOTRAZERO

 Message:  Unable to find a trailing zero for ASCIZ object at  virtual
     addr ess address_value

 Severity:  Error.

NOTRECORD

 Message:   variable  is   not   record;   cannot   select   component
     component_name

 Severity:  Warning.

NOTREE

 Message:  SCAN tree or subtree not found

 Severity:  Warning.

NOTTASKVAL

 Message:  expression does not specify a task value

 Severity:  Error.

NOTUNQOVR

 Message:  symbol 'symbol_name' is overloaded use SHOW SYMBOL to  find
     the unique symbol names

 Severity:  Error.

NOTUPDATE

 Message:  instruction screen display not updated

 Severity:  Informational.

NOTYPEINFO

 Message:  symbol type information not available please SET the module
     that describes this type

 Severity:  Warning.

NOUNIQUE

 Message:  symbol 'symbol_name' is not unique

 Severity:  Error.

 Explanation:  The symbol specified was not in a default scope or  was
     defined in more than one scope.

 User Action:  Specify the scope of the symbol in a pathname or change
     the default scope.

NOUNIVERSALS

 Message:  shareable image contains no universal symbols

 Severity:  Informational.

NOUSREVNT

 Message:  no user-specified events are allowed; none are declared

 Severity:  Error.

NOVALATPC

 Message:  entity 'symbol_name' does not have a value at  the  current
     PC (was optimized away)

 Severity:  Warning.

 Explanation:  The value of the specified variable does not  exist  at
     this point in the program's execution.  For example, the variable
     might be assigned to a register that is currently being used  for
     some other purpose.

 User Action:  Retry  the  operation  at  a  point  in  the  program's
     execution when the variable is being referenced.

NOVALTYP

 Message:  'symbol_name' does not have a value because it is a a  type
     name

 Severity:  Warning.

NOVALUE

 Message:  reference does not have a value

 Severity:  Warning.

 Explanation:  The command specified a reference that has no value.

 User Action:  Change the reference.

NOWATCHES

 Message:  no watchpoints are set

 Severity:  Informational.

 Explanation:  No watchpoints are set.

 User Action:  None.  This message is informational.

NOWATTAR

 Message:  cannot watch-protect target

 Severity:  Error.

 Explanation:  You are attempting to set a  /STATIC  watchpoint  on  a
     location that is either a register, is not in your program, or is
     on the stack (P1 space).  These  kinds  of  locations  cannot  be
     watchpointed with the /STATIC qualifier.

 User  Action:   Either  use  the  /NOSTATIC  qualifier,  or  do   not
     watch-point this location.

NOWATVARIA

 Message:  cannot set watchpoints on variant records

 Severity:  Warning.

NOWATVARSTG

 Message:  watchpoints not allowed after SET  TYPE  ASCIC,  ASCIW,  or
     ASCIZ

 Severity:  Warning.

NOWBPT

 Message:  cannot insert breakpoint

 Severity:  Informational.

 Explanation:  This message indicates an internal debugger error.

 User Action:  Submit a Software Performance Report.

NOWILDFIL

 Message:  file name, type, and version cannot be wildcarded

 Severity:  Error.

NOWOPCO

 Message:  cannot replace breakpoint with opcode

 Severity:  Fatal.

 Explanation:  This message indicates an internal debugger error.

 User Action:  Submit a Software Performance Report.

NULLPTR

 Message:  cannot dereference null pointer

 Severity:  Warning.

NUMCONLONG

 Message:  numeric constant too long, please shorten

 Severity:  Error.

NUMTRUNC

 Message:  number truncated

 Severity:  Informational.

OPCDEC

 Message:  no support for G/H instructions at or near opcode_name

 Severity:  Warning.

OPNOTALLOW

 Message:  operator 'operator_symbol' not allowed on given data types

 Severity:  Error.

OPSYNTAX

 Message:   instruction  operand  syntax  error  for  operand   number
     operand_number

 Severity:  Error.

OUTPUTLOST

 Message:  output being lost, both NOTERMINAL and NOLOG are in effect

 Severity:  Informational.

 Explanation:  The SET OUTPUT command has set the output conditions to
     NOTERMINAL  and  NOLOG; consequently, the output is not displayed
     on the terminal or written to a log file.   The  output  normally
     displayed by the debugger will not be available.

 User Action:  Use the SET  OUTPUT  command  to  send  output  to  the
     terminal or to a log file.

PACSIZREQ

 Message:  packed size required

 Severity:  Warning.

PARENREQ

 Message:  parenthesis required in 'DEBUG_command_segment/TYPE:(X)'

 Severity:  Warning.

 Explanation:  The DEBUG_command_segment is either SET TYPE,  DEPOSIT,
     or EXAMINE.

PARSTKOVR

 Message:  parse stack overflow, simplify expression

 Severity:  Warning.

 Explanation:  The expression was too  complex  for  the  debugger  to
     evaluate.

 User Action:  Simplify the expression.

PATHNOTACP

 Message:  pathname qualifiers (path_name) not allowed in SHOW  SYMBOL
     data name

 Severity:  Warning.

PATHTLONG

 Message:  too many qualifiers on name

 Severity:  Error.

PATHTOOLONG

 Message:  pathname too long at path_name

 Severity:  Error.

PCNOTALL

 Message:  PC not allowed in context for operand number operand_number

 Severity:  Error.

PLICVTERR

 Message:  PLI conversion error at or near opcode_name

 Severity:  Error.

PROFRANOT

 Message:  proper frame not found on call stack for path_name

 Severity:  Warning.

 Explanation:  You attempted to  look  at  a  variable  in  a  routine
     invocation that does not exist.

 User Action:   Specify  a  routine  or  routine  invocation  that  is
     currently active.

PROMPTCLEN

 Message:  display_name display width not changed, must be full  width
     of screen

 Severity:  Informational.

PROMPTOCCL

 Message:   display_name  display  now  occludes  some   or   all   of
     display_name display's text

 Severity:  Informational.

PROMPTRLEN

 Message:  display_name display length not changed, must be at least 2
     lines long

 Severity:  Informational.

PROVRFLOW

 Message:  too many levels of @ procedure nesting

 Severity:  Warning.

PXCN

 Message:  record  object  or  record  formal  parameter  must  prefix
     'CONSTRAINED

 Severity:  Warning.

QUOSTRLONG

 Message:  quoted string too long, please shorten

 Severity:  Error.

READERR

 Message:  Debugger input read error, force to exit

 Severity:  Warning.

REGREQ

 Message:   register  required   in   context   for   operand   number
     operand_number

 Severity:  Error.

RENAMENOT

 Message:  Unable to look up 'symbol_name', object being  renamed  not
     found in symbol table

 Severity:  Warning.

RETURNED

 Message:  control returned to process process_name

 Severity:  Informational.

RNDFCTROUT

 Message:  round factor out of range

 Severity:  Warning.

ROPRANDF

 Message:  reserved operand fault at or near opcode_name

 Severity:  Error.

RPCERR

 Message:  an internal inter-process communications error has occurred

 Severity:  Error.

 Explanation:  An internal communications  error  has  occurred.   The
     reason is given in the message following this message.

 User Action:   If  the  error  is  reproducible,  submit  a  Software
     Performance  Report  and, if possible, enclose both a copy of the
     program being  debugged  and  a  logged  debugging  session  that
     reproduces the error.

RSTERR

 Message:  error in symbol table

 Severity:  Error.

 Explanation:  There is a format error in the symbol table.

 User Action:  If the format error is not caused  by  a  user  program
     error or a DEPOSIT command, submit a Software Performance Report.

SCALEADD

 Message:  pointer addition:  scale factor of scale_factor applied  to
     right/left argument

 Severity:  Informational.

SCALESUB

 Message:  pointer subtraction:  scale factor of scale_factor  applied
     to right/left

 Severity:  Informational.

SCRTOBIG

 Message:  screen too big for Screen Mode  width  must  be  less  than
     maximum_width, height less than maximum_height

 Severity:  Error.

SCRTOSMALL

 Message:  screen too small for Screen Mode width  must  be  at  least
     minimum_width, height must be at least minimum_height

 Severity:  Error.

SETKEY

 Message:  keypad state has been set to state_name

 Severity:  Informational.

SETKEYERR

 Message:  error in processing SET KEY command:

 Severity:  Warning.

SETSCOMOD

 Message:  syntax error at 'DEBUG_command_segment',  SET  SCOPE/MODULE
     expected

 Severity:  Error.

SFCNTNEG

 Message:  shift count is negative

 Severity:  Warning.

SHOKEYERR

 Message:  error in processing SHOW KEY command:

 Severity:  Warning.

SIDEFFECT

 Message:  operators with side effects not supported (++, --)

 Severity:  Warning.

SIZEATOMIC

 Message:  only atomic data types are supported with 'SIZE

 Severity:  Warning.

SIZETRUNC

 Message:  size field truncated to 32 bits

 Severity:  Informational.

 Explanation:   The  size  of  the  entry  in  a  VAX  BLISS-32  field
     specification  was  larger  then  32.  The debugger set the entry
     size to 32 and executed the command.

 User Action:  None.  This message is informational.

SOURCESCOPE

 Message:  Source lines not available for .0
     %PC Displaying source in a caller of the current routine

 Severity:  Informational.

SPAWNED

 Message:  subprocess spawned

 Severity:  Informational.

SRCLINNOT

 Message:  source lines not available for module path_name

 Severity:  Warning.

 Explanation:  The source lines from module xxx cannot be displayed or
     searched because there is no source line information in the Debug
     Symbol Table (DST) for that module.  Either the compiler  is  not
     able to generate such information or the /DEBUG qualifier was not
     used on the compilation or link command.

 User Action:  If  the  language  in  question  supports  source  line
     display,  recompile and relink with the /DEBUG qualifier.  If the
     language does not support source line display, source lines  will
     not  be  available  to  the  debugger for modules written in that
     language.

SS_INT

 Message:  system service intercepted

 Severity:  Informational.

STEPINTO

 Message:  cannot step over PC = address_value

 Severity:  Informational.

 Explanation:  The debugger was unable to step over  the  routine  and
     executed a step into the routine instead.

 User Action:  None.  This message is informational.

STGTRUNC

 Message:  string truncated

 Severity:  Informational.

STRNGPAD

 Message:  string operand lengths do not match,  shorter  padded  with
     blanks on the right

 Severity:  Informational.

 Explanation:  The operands of a string comparison ( 'ABC'  <  'AB'  )
     did  not have the same length.  The shorter one is blank extended
     on the right.

 User Action:  Use strings of the same length.

STRTOOLONG

 Message:  strings longer than 255 characters not supported

 Severity:  Warning.

STRUCSIZE

 Message:  structure size  declared  as  num_units  allocation  units,
     num_units was given

 Severity:  Informational.

 Explanation:  The VAX BLISS-32 structure  size  was  declared  to  be
     num_units units but was referenced with num_units units.

 User Action:  None.  This message is informational.

SUBOUTBND

 Message:  subscript  subscript_number  is  out  of  bounds  value  is
     subscript_value, bounds are low_bound..high_bound

 Severity:  Informational.

 Explanation:  An attempt to subscript out of the bounds of  an  array
     was made.

 User Action:  Change the value of the subscript.

SUBSCRNG

 Message:  subscript  out  of  range,  low/high  bound  for  dimension
     subscript_number is subscript_bound

 Severity:  Informational.

SUBSTRING

 Message:  invalid substring (start:   low_bound,  end:   high_bound),
     object has length string_size

 Severity:  Warning.

 Explanation:  The substring specification  (start:   low_bound,  end:
     high_bound ) is not within the bounds defined for the data type.

 User Action:  Specify a substring  specification  within  the  bounds
     defined for the data type.

SUPERDEBUG

 Message:  SUPERDEBUG not available

 Severity:  Error.

SYMNOTACT

 Message:  nonstatic variable 'symbol_name' is not active

 Severity:  Warning.

 Explanation:  The symbol symbol_name is not defined in an active call
     frame.

 User Action:  Check the symbol specified; if correct, ensure that you
     have defined the scope correctly.

SYMNOTFND

 Message:  no symbols matching defined_symbol are defined

 Severity:  Informational.

SYNERREXPR

 Message:     syntax    error    in    expression    at    or     near
     'DEBUG_command_segment'

 Severity:  Error.

SYNERRLABEL

 Message:  syntax error in %LABEL construct, see HELP %LABEL

 Severity:  Error.

SYNERRLINE

 Message:  syntax error in %LINE construct, see HELP %LINE

 Severity:  Error.

SYNTAX

 Message:  command syntax error at or near 'DEBUG_command_segment'

 Severity:  Error.

 Explanation:  The debugger encountered a command  syntax  error  near
     the element DEBUG_command_segment.

 User Action:  Reenter the command.

TASKERROR

 Message:  error error_code from ADA multitasking

 Severity:  Error.

TASKNOTABORT

 Message:  task not aborted; ADA multitasking  is  executing  critical
     section

 Severity:  Error.

TASKNOTACT

 Message:  task cannot be made the active task; task is not  ready  or
     running

 Severity:  Error.

TASKNULL

 Message:  task is null; cannot set attributes of null task

 Severity:  Error.

TIMESLICE

 Message:  time slice interval has been slowed to 10.0 seconds

 Severity:  Informational.

TOOFEWSUB

 Message:  too few subscripts, array has num_dimensions dimensions

 Severity:  Warning.

TOOMANDIM

 Message:  too many dimensions in array

 Severity:  Warning.

TOOMANERR

 Message:  too many errors, some errors not reported

 Severity:  Informational.

 Explanation:  Too many MISMODBEG or certain  other  errors  occurred.
     Other similar errors are not reported.

 User Action:  None.  This message is informational.

TOOMANINV

 Message:  too many invocation numbers in symbol pathname

 Severity:  Error.

TOOMANPARM

 Message:  too many parameters on command

 Severity:  Error.

TOOMANSUB

 Message:  too many subscripts, array has num_dimensions dimensions

 Severity:  Warning.

UNACREDBGO

 Message:  unable to create DBG$OUTPUT, SYS$OUTPUT used

 Severity:  Informational.

UNACVT

 Message:  unable to convert radixvalue to datatype_name

 Severity:  Warning.

UNALIGNED

 Message:  data is not aligned on a byte boundary

 Severity:  Warning.

UNALLOCATED

 Message:  entity 'symbol_name'  was  not  allocated  in  memory  (was
     optimized away)

 Severity:  Warning.

UNAOPEDBGI

 Message:  unable to open DBG$INPUT, SYS$INPUT used

 Severity:  Informational.

UNAOPESCR

 Message:  unable to open DBG$OUTPUT for screen output

 Severity:  Informational.

UNAOPNHLP

 Message:  unable to open help library file_specification

 Severity:  Warning.

 Explanation:  The help library file_specification cannot be opened to
     look for the help you requested.  The accompanying VAX RMS status
     message givs you more  information  about  the  reasons  for  the
     library not being opened.

 User Action:  Examine the VAX RMS status  message  to  determine  the
     reasons  for  the  help  library  not  being opened, and take the
     appropriate action based on that information.  Also, verify  that
     the logical name DBG$HELP is either not defined, or is defined to
     indicate the proper file.

UNAOPNINI

 Message:  unable to open initialization file file_specification

 Severity:  Informational.

UNAOPNSRC

 Message:  unable to open source file file_specification

 Severity:  Warning.

 Explanation:  Source lines from the file file_specification cannot be
     displayed because the debugger was unable to open the source file
     (represented as file_specification).  The  accompanying  VAX  RMS
     status  message  gives more information about the reasons for the
     source file not being opened.

 User Action:  Examine the VAX RMS status  message  to  determine  the
     reasons  for  the  source  file  not  being  opened, and take the
     appropriate action based on that information.

UNAREASRC

 Message:  unable to read source file file_specification

 Severity:  Warning.

 Explanation:  Source lines from the file file_specification cannot be
     displayed because the debugger was unable to read the source file
     (represented as file_specification).  The  accompanying  VAX  RMS
     status  message  gives more information about the reasons for the
     source file not being opened.

 User Action:  Examine the VAX RMS status  message  to  determine  the
     reasons  for  the  source  file  not  being  read,  and  take the
     appropriate action based on that information.

UNASAVVAL

 Message:  unable to save value for defined_symbol, definition ignored

 Severity:  Warning.

UNASETIMG

 Message:  unable to set image image_name because  it  has  no  symbol
     table

 Severity:  Informational.

UNASETTAS

 Message:  unable to set visible task:  registers not available

 Severity:  Error.

UNASWISTA

 Message:  Unable to create debugger stack, using program stack

 Severity:  Informational.

UNBPAREN

 Message:  unbalanced parentheses in expression

 Severity:  Error.

UNDEXPN

 Message:  undefined exponentiation at or near opcode_name

 Severity:  Warning.

UNDKEY

 Message:  state_name key key_name is undefined

 Severity:  Informational.

UNEXPEXC

 Message:  A debugger exception  handler  was  called  during  program
     execution this debugging session may not be reliable

 Severity:  Warning.

 Explanation:  This error can occur if the debugger was running and an
     exception was signaled in one of the program's exit handlers, and
     either a CTRL/Y EXIT operation was performed,  or  a  Force  Exit
     system  service  call  ($FORCEX)  was  issued  on  behalf  of the
     process.

 User Action:  Identify and correct the error in the user program.  If
     the  debugger  reports  this error under circumstances other than
     described above, then submit a Software Performance Report.

UNIMPLENT

 Message:  attempt to evaluate unimplemented type

 Severity:  Warning.

UNMTCHPARN

 Message:  unmatched left parenthesis found

 Severity:  Warning.

 Explanation:  A left parenthesis (()  was  found,  but  the  matching
     right parenthesis ()) is missing.

 User Action:  Include the right parenthesis ()).

UPBNDOPT

 Message:  upper bound of subrange was optimized away

 Severity:  Informational.

USREVNTERR

 Message:  user-specified event error code error_code returned by user
     RTL

 Severity:  Error.

VALNOTADDR

 Message:  value of variable 'symbol_name' not usable as address

 Severity:  Warning.

 Explanation:  The value of the specified variable is not usable as an
     address.  The address must be a longword.

 User Action:  Modify the address and retry the operation.

VARNESDEP

 Message:  variant nesting depth  exceeds  20,  cannot  access  record
     component

 Severity:  Error.

VERIFYICF

 Message:  opening/closing command procedure file_specification

 Severity:  Informational.

 Explanation:  The debugger is verifying a  command  procedure.   This
     message is displayed before the command procedure is executed and
     after all the commands have been displayed.

 User Action:  None.  This message is informational.

WATCHSIZE

 Message:  cannot WATCH variables longer than 512 bytes

 Severity:  Error.

WIDTHDIFF

 Message:  desired width of display_width is not allowed, width is set
     to display_width

 Severity:  Informational.

WORKSTACMD

 Message:  the command DEBUG-command is only supported on workstations

 Severity:  Warning.

 Explanation:  The debugger supports the command DEBUG-command only on
     Workstations.

 User Action:  None.  This capability of the debugger does  not  exist
     for your terminal or machine.

WPTTRACE

 Message:  nonstatic watchpoint, tracing every instruction

 Severity:  Informational.

 Explanation:  Setting a watchpoint on a nonstatic  location  such  as
     the  stack  or  on  a register forces the debugger to trace every
     instruction that is executed.  This will slow down  execution  of
     your program by a considerable amount.

 User Action:  If you do not want execution  of  your  program  slowed
     down,

     then you must cancel the watchpoint.

WRITE_FAILED

 Message:  an attempt to write into a memory location failed

 Severity:  Error.

 Explanation:  This message indicates an internal debugger error.

 User Action:  Submit a Software Performance Report.

WRITE_INTO_KERNEL

 Message:  cannot write into the kernel debugger's address space

 Severity:  Error.

 Explanation:  This message indicates an internal debugger error.

 User Action:  Submit a Software Performance Report.

WRITE_INTO_KERNEL_STACK

 Message:  cannot write into the kernel debugger's stack

 Severity:  Error.

 Explanation:  This message indicates an internal debugger error.

 User Action:  Submit a Software Performance Report.

ZERLENDST

 Message:  zero length DST record has been ignored (compiler error)

 Severity:  Informational.

ZEROINCR

 Message:  increment for ranged examine is zero; exit-ing loop

 Severity:  Informational.

New Features

Additional information available:

V4.2V4.4V4.6V5.0

V4.2

     This section points out which features and commands  are  new  in
     version  4.2  of  DEBUG.   These are documented elsewhere in this
     help library:

     Ada language support. See help on LANGUAGE ADA.
     Aggregate watchpoints. See help on SET WATCH aggregate.
     Dynamic module setting. See help on SET MODE DYNAMIC.
     Enable and Disable AST. See help on ENABLE and DISABLE.
     Exception lexicals. See help on "Lexical %EXC".
     Exit handlers. See help on SHOW EXIT_HANDLERS.
     Instruction display. See help on "Screen Instruction-display".
     Large terminal support. See help on SET TERMINAL.
     Noline mode. See help on SET MODE NOLINE.
     Parameters to SHOW MODULE. See help on SHOW MODULE Parameters.
     Scroll mode. See help on SET MODE SCROLL.
     Setting the debugger prompt. See help on SET PROMPT.
     %SOURCE_SCOPE. See help under "Screen Source-display".

V4.4

     This section points out which features and commands  are  new  in
     version 4.4 of DEBUG.

     DIBOL language support. See help on "Language DIBOL".
     DISPLAY/[NO]POP and DISPLAY/[NO]PUSH.
     EXAMINE/TYPE
     New screen windows. See help on "Screen_Features Windows".
     Scan language support. See help on "Language SCAN".
     Scope default of 0,1,2,3,...N. See help on "SET SCOPE Default".
     SELECT/INPUT, SELECT/ERROR, SELECT/PROGRAM.
     SET ATSIGN and SHOW ATSIGN.
     SET EDITOR and SHOW EDITOR.
     Shareable Image support. See the "Shareable_Image" subtopic.
     SHOW STACK
     SS$_DEBUG signal parameters. See help on "SS$_DEBUG".
     STEP/[NO]JSB and STEP/[NO]SHARE.

     There are also various new screen features that are discussed  in
     the subtopics:

Additional information available:

Display AttributesExtracting DisplaysKey DefinitionsMoving Displays
PROMPT DisplayResizing DisplaysVertically Divided Windows
Shareable ImagesWindow Definitions

Display Attributes

     In addition to the attributes INSTRUCTION,  OUTPUT,  SCROLL,  and
     SOURCE, the debugger now provides the following attributes, which
     are also selected with the SELECT command:

          ERROR ---  A  display  with  the  ERROR  attribute  displays
          debugger diagnostic messages.

          INPUT --- A display with the  INPUT  attribute  echoes  your
          debugger input.

          PROGRAM --- A display with the  PROGRAM  attribute  displays
          program  output.   Currently, only the new predefined PROMPT
          display can have the PROGRAM attribute.

          PROMPT --- A display with the PROMPT attribute is where  the
          debugger   prompts  for  input.   Currently,  only  the  new
          predefined PROMPT display can have the PROMPT attribute.

     For  example,  the  following  command  will  cause  your  input,
     debugger output, and debugger diagnostic messages to be logged in
     the OUT display in the proper sequence:

          DBG> SELECT/INPUT/ERROR OUT

     Type HELP Screen_Features Display_Attributes for  information  on
     assigning display attributes.

Extracting Displays

     You can now save screen displays into a file, or  create  a  file
     with all the debugger commands necessary to re-create the current
     screen  state  at  a  later  time.   Type  HELP  EXTRACT  for   a
     description of the EXTRACT command.

Key Definitions

     The default definitions for keypad keys KP7 and MINUS  have  been
     changed  to  accommodate changes in predefined display and window
     definitions.  The new definitions are as follows:

     KP7        = DISPLAY SRC AT LH1, INST AT RH1, OUT AT S45,PROMPT AT S6
     GOLD KP7   = DISPLAY INST AT LH1, REG AT RH1, OUT AT S45,PROMPT AT S6
     BLUE KP7   = Not defined
     MINUS      = DISPLAY %NEXTDISP AT S12345
     GOLD MINUS = Not defined
     BLUE MINUS = DISPLAY SRC AT H1, OUT AT S45, PROMPT AT S6 (this is the default)

     See the "Window_Definitions" sub-topic for  more  information  on
     the new windows.

Moving Displays

     You can move a display vertically and/or horizontally across  the
     screen  by  means  of  the  MOVE  command.   Type HELP MOVE for a
     description of the MOVE command.

PROMPT Display

     There is a new  PROMPT  predefined  display  where  the  debugger
     prompts for input, forces program output, and (by default) prints
     debugger diagnostic messages.  By default,  PROMPT  occupies  the
     bottom  sixth  of  the  screen  (the predefined window S6).  On a
     VT100 or VT200 series terminal, S6 includes lines 21 through 24.

     The PROMPT display is of the new display kind "PROGRAM".   PROMPT
     is  the  only display of that kind (no other PROGRAM displays can
     be created).  Note that, compared to other displays,  PROMPT  has
     several  restrictions.   To  eliminate  possible  confusion  when
     manipulating that display:

      o  PROMPT can never be hidden by another display.  It is  always
         on top of the display "pasteboard".

      o  PROMPT can be moved anywhere on the screen, expanded to  fill
         the  full  screen  height, and shrunk down to two lines.  But
         PROMPT must always occupy the full width of the  screen  and,
         therefore,   can   not   be   moved,   expanded,   or  shrunk
         horizontally.


     Type HELP Screen_Features Display_Attributes for  information  on
     assigning  display  attributes to various displays, including the
     PROMPT display.

Resizing Displays

     You can expand and contract  displays  by  means  of  the  EXPAND
     command.   Type  HELP  EXPAND  for  a  description  of the EXPAND
     command.

Vertically Divided Windows

     Previously, display windows had to occupy the full width  of  the
     screen (columns 1-80).  Now, windows can be defined to occupy any
     rectangular region of the screen.  Windows occupying the left  or
     right  half  of the screen (columns 1-40 and 42-80, respectively)
     are predefined.  With these predefined  displays,  column  41  is
     reserved as a border.

     To observe the effect, invoke the debugger, use the  command  SET
     MODE  SCREEN, then press keypad key 7 (KP7).  That key definition
     has been changed to show the SRC display in the top left half  of
     the  screen  (LH1), the INST display in the top right half (RH1),
     the OUT display under these two, and the new PROMPT display under
     OUT.

Shareable Images

     With version 4.4 of the debugger, you can debug shareable  images
     in  the  same  way  as  you debug your main image.  That is, full
     symbol table information is now available for shareable images.

     To build a shareable image with symbol table, you  would  compile
     your  modules  with the /DEBUG qualifier, and then link the image
     with the /SHARE and /DEBUG qualifiers.  For example:
     $ LINK/SHARE/DEBUG FOO

     Then, once you have run your main program with the debugger,  you
     can load the symbol table information for the shareable image FOO
     using the command:
     DBG> SET IMAGE FOO

     See the individual help topics for information  on  the  commands
     "SET IMAGE", "CANCEL IMAGE", and "SHOW IMAGE".

Window Definitions

     Previously, the bottom sixth of the  screen  (lines  21-24  on  a
     VT100  or  VT200  series terminal) could not be used for defining
     display windows.  That area was reserved for the debugger prompt,
     debugger  diagnostic messages, and program output.  Also, windows
     had to occupy the full width of the screen.

     Now, windows can be defined to occupy any rectangular  region  of
     the  screen.   The  SET WINDOW, SET DISPLAY, and DISPLAY commands
     now  accept  horizontal  (column)  as  well  as  vertical  (line)
     coordinates.   The  general  form  of  a  window specification is
     illustrated for the SET WINDOW command:
          SET WINDOW wname AT (start-line,line-count
                                 [,start-column,column-count])

     Type "HELP SET WINDOW", "HELP SET DISPLAY",  and  "HELP  DISPLAY"
     for more information.

     Old and new default  windows  have  been  defined  to  cover  the
     greater  usable  screen  height  and  to  account  for vertically
     defined windows.   For  example,  on  a  VT100  or  VT200  series
     terminal,  FS (full screen) now covers lines 1-24, H1 lines 1-12,
     H2 lines 13-24, and so on.  A new symbol  prefix,  S,  denotes  a
     multiple  of  one  sixth  of the screen.  For example, S56 is the
     bottom two sixths of the screen.  And for each of the  full-width
     predefined windows (for example, FS, H2, T12, Q3, S45, and so on)
     there is also a left-half and  a  right-half  predefined  window.
     These  window  names  have  the  prefix  L  and  R, respectively.
     Examples of predefined windows follow:

          Window   Location
          Name     (start-line,line-count,start-column,column-count)

          FS       (1,23,1,80)
          LFS      (1,23,1,40)
          RH1      (1,11,42,39)
          LH2      (13,11,1,40)
          LT12     (1,15,1,40)
          Q234     (7,17,1,80)
          RS56     (17,7,42,39)

V4.6

     This section points out which features and commands  are  new  in
     version 4.6 of DEBUG.

     ADA Predefined Breakpoints
     Call from exception break.
     Nonstatic watchpoints.
     Step from exception break.

     See the subtopics for details.

Additional information available:

ADA-Predefined-BreakpointsCall-Exception-BreakNonstatic-Watchpoints
Step-Exception-Break

ADA-Predefined-Breakpoints

     If any portion of your program is written in the ADA  programming
     language,  then  two breakpoints are automatically established on
     Debugger  startup.   These  breakpoints   are   on   ADA   Events
     "Dependents_Exception" and "Exceptions_Terminated".  Whenever you
     perform the "SHOW  BREAK"  command,  these  breakpoints  will  be
     displayed.

Call-Exception-Break

     Prior to version 4.6, the debugger did not allow you to CALL from
     an  exception  break.   The  CALL  command is now allowed in this
     situation.  For example:

     Earlier versions of DEBUG:

     DBG> SET BREAK/EXC
     DBG> GO
     %SYSTEM-F-ACCVIO, access violation, ...
     break on exception preceding BLIHANDLER\SUBR\%LINE 38
         38: a = ..a;
     DBG> CALL PRIME(7)
     %DEBUG-W-STEFROEXC, call from exception break is not allowed

     Version 4.6 of DEBUG:

     DBG> SET BREAK/EXC
     DBG> GO
     %SYSTEM-F-ACCVIO, access violation, ...
     break on exception preceding BLIHANDLER\SUBR\%LINE 38
         38: a = ..a;
     DBG> CALL PRIME(7)
     value returned is 00000001

     There are still some restrictions associated with  doing  a  CALL
     from   an   exception   break:    Breakpoints,  tracepoints,  and
     watchpoints will not be  triggered  within  the  CALLed  routine.
     (Normally,  you  could set a breakpoint within a routine, call it
     with the CALL command, and break within the routine).  But  since
     most  people  use  CALL  to  call  their own dumping or debugging
     routines, they do not want to  set  breakpoints  in  the  dumping
     routine, and this restriction does not matter.

Nonstatic-Watchpoints

     Starting with version 4.6, it is possible to set  watchpoints  on
     variables  which  are on the stack or allocated to registers.  To
     implement  these  watchpoints  the  debugger  must  trace   every
     instruction.  (Watchpoints of static variables are implemented by
     write-protecting the page and  catching  the  access  violation).
     Therefore,  stack  or  register  watchpoints  will be slower than
     watches of static variables.

     When you set a watchpoint, the debugger  determines  whether  the
     watched  location  is  a  stack  location or register, and if so,
     gives an informational that you are setting a stack  or  register
     watchpoint.  The information is also displayed on SHOW WATCH:

     DBG> SET WATCH I
     %DEBUG-I-WPTTRACE, non-static watchpoint, tracing every instruction
     DBG> SHOW WATCH
     watchpoint of EIGHTQUEENS\TRYCOL\I [tracing every instruction]

     The watchpoint then operates like any other watchpoint, e.g:

     DBG> GO
     watch of EIGHTQUEENS\TRYCOL\I at EIGHTQUEENS\TRYCOL\%LINE 46
         46:       i := i + 1 ;
        old value: 0
        new value: 1

     Since you are  watching  a  variable  local  to  a  routine,  the
     watchpoint  is  automatically  cancelled when you return from the
     routine:

     DBG> STEP/RETURN
     stepped on return from routine EIGHTQUEENS\TRYCOL
         59: end ; (* trycol *)
     DBG> STEP
     stepped to EIGHTQUEENS\%LINE 69
         69:    writeln ;
     %DEBUG-I-WATCHVAR, watched variable TRYCOL\I has gone out of scope
     %DEBUG-I-WATCHCAN, watchpoint now cancelled

     For  a  recursive  routine,  it  is  possible  to  have  separate
     watchpoints   for  the  same  variable  at  different  levels  of
     recursion.  For example, in the  above  example,  if  TRYCOL  was
     recursive,  you could have watchpoints of TRYCOL 0\I, TRYCOL 1\I,
     and so on.

     For more  information  see  the  help  on  SET  WATCH,  subtopics
     /STATIC, /NOSTATIC, /INTO, and /OVER.

Step-Exception-Break

     Prior to version 4.6, the debugger would not allow  you  to  STEP
     from  an  exception  break.   Now, the STEP command is allowed in
     this situation, and the effect is that you step to the  start  of
     whatever  exception  handler  gets  control.   If  you  have  not
     declared any exception  handlers,  then  the  exception  is  just
     resignalled, and you end up back at the debugger prompt (that is,
     the STEP has no effect).  Here is an example:

     Earlier versions of DEBUG:

     DBG> SET BREAK/EXC
     DBG> GO
     %SYSTEM-F-ACCVIO, access violation, ...
     break on exception preceding BLIHANDLER\SUBR\%LINE 38
         38: a = ..a;
     DBG> STEP
     %DEBUG-W-STEFROEXC, step from exception break is not allowed

     Version 4.6:

     DBG> SET BREAK/EXC
     DBG> GO
     %SYSTEM-F-ACCVIO, access violation...
     break on exception preceding BLIHANDLER\SUBR\%LINE 38
         38: a = ..a;
     DBG> EX .FP  ! Check for a handler
     7FF00D68:       00000400
     DBG> EX ..   ! See what the handler is
     BLIHANDLER\HANDLER1:    entry mask ^M<R2,R3>
     DBG> STEP    ! STEP to the handler
     stepped to routine BLIHANDLER\HANDLER1


V5.0

     The new features and commands for V5.0 of  the  debugger  are  as
     follows:

     Dynamically reformatting register display
     EXAMINE/OPERANDS (and SET MODE [NO]OPERANDS)
     MACRO support enhancements
     New predefined windows for screen mode
     SET MODULE/CALLS
     SET PROMPT/[NO]POP
     SET MODE [NO]SEPARATE
     SPAWN/INPUT and /OUTPUT

     See the subtopics for details.

Additional information available:

SET_MODE_SEPARATESET_PROMPT

Dynamic Register DisplayEXAMINE OPERANDS QualifierMACRO Support
Screen Mode WindowsSET MODULE CALLS QualifierSPAWN qualifiers

Dynamic Register Display

     Register displays, such as the predefined display  REG,  are  now
     dynamic by default.  This means that the window dimensions adjust
     proportionally when you change the screen height or width with  a
     SET TERMINAL command.

     Also, a register display now reformats the displayed information,
     in  the  best  way  possible,  to the window in which it has been
     displayed.  The default window for REG remains RH1.  However,  if
     you   were  to  display  REG  in  window  Q3,  for  example,  the
     information would reformat automatically  to  fit  into  the  new
     window.

     Type HELP Screen_Features Register_Display for more information.

EXAMINE OPERANDS Qualifier

     In order to aid in debugging MACRO code,  a  /OPERANDS  qualifier
     has  been  added  to  the  EXAMINE  command.   If  you examine an
     instruction with  the  /OPERANDS  qualifier,  then  the  debugger
     displays  the  addresses  and contents of each of the instruction
     operands.  For example,

     DBG> EXAM/OPER .PC
     X\X$START+0C:   MOVL    B^04(R4),R7
          B^04(R4)   X\X$START\K (address 00001058) contains 00000016
          R7         R7 contains 00000000

     Type HELP EXAMINE/OPERANDS,  SET  MODE  OPERANDS,  and  SET  MODE
     NOOPERANDS for more information.

MACRO Support

     The following enhancements have been made to  MACRO  support,  to
     match the support available with other languages.

     The debugger now displays MACRO source  lines,  whether  you  are
     debugging in line mode or screen mode.

     Therefore, when  the  language  is  set  to  MACRO,  the  default
     behavior   of   the   STEP   command   is   now   STEP/LINE  (not
     STEP/INSTRUCTION, the previous behavior).

     When the language is set to MACRO,  the  debugger  interprets  an
     address  expression  used in a language expression as the current
     value stored at that address (not  the  address  denoted  by  the
     address  expression, the previous behavior).  This change affects
     how language expressions are evaluated by the commands  EVALUATE,
     DEPOSIT,  IF, FOR, REPEAT, and WHILE, and by WHEN clauses as used
     with the commands SET BREAK,  SET  TRACE,  and  SET  WATCH.   For
     example, the command DEPOSIT X = Y + 2 evaluates the sum of 2 and
     the current value of Y and deposits the resulting value into X.

     See also HELP LANGUAGE MACRO EXPRESSIONS  for  a  description  of
     additional enhancements.

Screen Mode Windows

     The predefined windows now include eighths of the screen  height,
     in  addition  to  halves,  thirds, quarters, and sixths, plus the
     right and left halves.  The letter "E" denotes  an  eighth.   For
     example, E2 denotes the top second eighth of the screen, and RE67
     denotes the right sixth and seventh eighths of the screen.

SET MODULE CALLS Qualifier

     SET  MODULE/CALLS  sets  all  the  modules  that  currently  have
     routines  on  the  call  stack.   These  are the modules that are
     listed when you enter a SHOW CALLS command.  You  would  use  the
     /CALLS  qualifier  to  set  modules  that  might  not  have  been
     dynamically set by the debugger.

SET_MODE_SEPARATE

     The SET MODE [NO]SEPARATE command applies only to VAXstations.

     Before V5.0, if you invoked  the  debugger  on  a  VAXstation,  a
     separate window was created for debugger input and output.

     Starting with V5.0 you have  control  over  this  behavior.   The
     command  SET MODE SEPARATE creates a separate window for debugger
     input and output.  The effect is as if you had defined  DBG$INPUT
     and DBG$OUTPUT to point to the newly created window.  The command
     SET MODE NOSEPARATE disables  this  behavior,  so  that  debugger
     input  and  output  are displayed in the window where you invoked
     the debugger.

     Type HELP SET MODE SEPARATE and  SET  MODE  NOSEPARATE  for  more
     information.   Also type HELP SET PROMPT/POP and SET PROMPT/NOPOP
     (a related feature).

SET_PROMPT

     The SET PROMPT command has  a  new  qualifier  "/[NO]POP".   This
     qualifier applies only to VAXstations.

     Before V5.0, if you were running  the  debugger  in  an  emulated
     terminal  window  on  a  VAXstation, the window popped over other
     windows and  attached  to  the  keyboard  whenever  the  debugger
     prompted for input.

     Starting with V5.0 you have  control  over  this  behavior.   The
     command  SET  PROMPT/POP  enables this behavior.  The command SET
     PROMPT/NOPOP (which is the default) disables  this  behavior,  so
     that  the  debugger  window does not automatically pop over other
     windows and does not attach to the  keyboard  when  the  debugger
     prompts for input.

     If you enter the SET PROMPT  command  without  specifying  a  new
     prompt  string, the prompt string is unchanged.  If you enter the
     command without the /[NO]POP qualifier, the  prompt  behavior  is
     set to /NOPOP, which is the default.

     Type HELP SET PROMPT/POP for more information.   Also  type  HELP
     SET MODE SEPARATE and SET MODE NOSEPARATE (a related feature).

SPAWN qualifiers

     Two new qualifiers have been added to the SPAWN command.

     The /INPUT qualifier specifies an input file  containing  one  or
     more DCL commands to be executed by the spawned subprocess.

     The /OUTPUT qualifier causes the output from the SPAWN  operation
     be written to the specified file.

     Type HELP SPAWN/INPUT and SPAWN/OUTPUT for more information.

Pathnames

     If you have multiple symbols with the same name, you may need  to
     use  pathnames  to  disambiguate symbol references.  For example,
     you may have a variable X in procedure A, another variable  X  in
     procedure  B  which  is  nested in procedure A, and still another
     variable X in procedure C.  If you say:

     DBG> EXAMINE X

     then the debugger will attempt to resolve which X you mean, based
     on  your  current PC.  If it cannot do so, it will give the error
     message:

     %DEBUG-W-NOUNIQUE, X is not unique.

     In this case, you can specify which X you want using pathnames:

     DBG> EXAMINE A\X

     DBG> EXAMINE A\B\X

     DBG> EXAMINE C\X

     Also see the help on "SET SCOPE".

Release Notes

Additional information available:

V4.2V4.4V4.6V5.0

V4.2

     This section notes any incompatible changes that have  been  made
     for version 4.2 of the debugger that you should be aware of.

     New features in version 4.2 are listed  seperately,  under  "HELP
     New_features".

Additional information available:

Register WindowsMacro-defaultsBasic-defaults

Register Windows

     In version 4.0 of DEBUG, the register display occupied 5 lines of
     the  screen.   Special  windows  were  invented  to  accomodate a
     display of this size, and these were named R1, R2, R3,  R12,  and
     R23.

     For version 4.2 of DEBUG, the register display has been  squeezed
     down  to  occupy  just  four lines.  This was done by making more
     efficient use of space and also by removing the translation of R0
     as  an  error  message.   (The  translation  of  R0  can still be
     obtained by doing EXAMINE/CONDITION R0).

     Now that the register display occupies 4 lines, it  fits  in  the
     standard  windows Q1, Q2, Q3, and Q4 (one quarter of the screen).
     So the special purpose windows R1, R2, and R3 have been  dropped.
     If you refer to them in any command files, you should change your
     command file to use one of the "Q" (quarter) displays instead.

     Example:

      old DBG$INIT file:

     DISPLAY REG AT R1
     DISPLAY OUT AT R23

      new DBG$INIT file:

     DISPLAY REG AT Q1
     DISPLAY OUT AT Q234

Macro-defaults

     In version 4.0, the screen default for MACRO was to  display  the
     registers on the top of the screen, and the output display in the
     rest of the screen.  Because of the addition of  the  instruction
     display  in  version  4.2,  this  default  was  changed to be the
     assembly language instructions  (INST  display)  in  H1  and  the
     output  display in H2.  This make the MACRO default closer to the
     rest of the languages.

     If you want to display the registers for MACRO, you now  need  to
     specify  that  in  a DISPLAY command.  For example, the following
     puts  the  registers  in  the  top  quarter  and   the   assembly
     instructions in the second quarter:

     DBG> DISPLAY REG AT Q1
     DBG> DISPLAY INST AT Q2


Basic-defaults

     In version 4.0, the screen-mode defaults for language BASIC  were
     the  same as for language MACRO.  This was because, at that time,
     the BASIC compiler was not generating the  symbol  table  records
     needed to do source display.

     With version 2.4 of BASIC, source display is available  for  that
     language.   So the screen mode default for BASIC has been changed
     to be the source display in the top half of the screen,  and  the
     output  display in the bottom half of the screen (the same as for
     the other high-level languages).

V4.4

     This section notes any known bugs that could not be fixed in time
     for  the  version  4.4  release.  Also noted are any incompatible
     changes that have been made for Version 4.4 of the debugger  that
     you should be aware of.  New features are listed separately under
     HELP New_Features.

Additional information available:

Key DefinitionsRegister DisplayScreen ManagementShareable Images
VAXstationsWindow Definitions

Key Definitions

     The default definitions for keypad keys KP7 and MINUS  have  been
     changed  to  accommodate changes in predefined display and window
     definitions.  The new definitions are as follows:

     KP7        = DISPLAY SRC AT LH1, INST AT RH1, OUT AT S45,PROMPT AT S6
     GOLD KP7   = DISPLAY INST AT H1, OUT AT S45, PROMPT AT S6
     BLUE KP7   = Not defined
     MINUS      = DISPLAY %NEXTDISP AT S12345
     GOLD MINUS = Not defined
     BLUE MINUS = DISPLAY SRC AT H1, OUT AT S45, PROMPT AT S6

     Type  "HELP  New_Features  V4.4  Window_Definitions"   for   more
     information on the new window definitions.

Register Display

     The screen mode register display (REG) has  been  reformatted  to
     take  advantage  of  the  new  window capabilities.  REG is now a
     square display that fits in one of the  quarters  of  the  screen
     (for  example, the top left-hand window LH1 or the top right-hand
     window RH1).  If your debugger initialization file had a  command
     like

     DBG> DISPLAY REG AT Q3

     then you may want to change it to something like

     DBG> DISPLAY REG AT RH1

     to accommodate the re-shaped register display.

Screen Management

     In version 4.4 the  debugger  uses  the  SMG  screen  package  to
     implement  its  screen  mode.   If  your  program  also calls SMG
     routines, and you debug it with the debugger running on the  same
     terminal,  then  there probably will be interference between your
     program and the debugger.

     Our recommended solution  is  to  debug  the  program  using  two
     terminals.  For a description of how to do this, see Chapter 8 of
     the VMS Debugger Manual.

Shareable Images

     Support for debugging shareable images is new in version  4.4  of
     the debugger and is described under "New_Features".  There is one
     restriction you should  be  aware  of  when  debugging  shareable
     images.   The  shareable  image  must  have  been linked with the
     /DEBUG qualifier in order for shareable image debugging to  work.
     If  the  image was not linked with the /DEBUG qualifier, then the
     debugger may allow you to SET IMAGE to that image but then it may
     show you incorrect results.

     In summary:

     $ LINK/SHARE/DEBUG X    can SET IMAGE, everything OK
     $ LINK/SHARE X          can SET IMAGE, get incorrect results
     $ LINK/SHARE/NOTRACE X  cannot SET IMAGE

     In a future release of the debugger we will correct this problem,
     and  make  the  debugger  work correctly on shareable images that
     were not linked with /DEBUG.

VAXstations

     You will notice that in version 4.4, the debugger comes up in its
     own window when you run it on the VAXstation.

     There is a problem with control-Y handling when the  debugger  is
     running  in  its  own  VAXstation  window.  The control-Y will be
     ignored when the keyboard is attached  to  the  debugger  window.
     What  you  have to do to make the control-Y take effect is attach
     the keyboard to the original window (by pointing at it  with  the
     mouse), and then type the control-Y.

     We expect to fix this problem in a future release.

Window Definitions

     If you use predefined windows such as H2 in  your  initialization
     file or in your own command or key definitions then you should be
     aware of the following changes.

     Changes to display window  definitions  and  the  addition  of  a
     PROMPT predefined display have caused some incompatibilities with
     earlier versions of DEBUG.

     Previously, the bottom sixth of the screen  (lines  21-24)  on  a
     VT100  or  VT200  series terminal) could not be used for defining
     display windows.  That area was reserved for the debugger prompt,
     debugger input, debugger diagnostic messages, and program output.
     Now, display windows can occupy any part of the screen, and a new
     predefined  PROMPT  display  shows  the debugger prompt, debugger
     input, and program output.

     The boundaries of the default  windows  have  been  redefined  to
     cover  the greater usable screen height.  For example, on a VT100
     or VT200 series terminal, FS (full screen) now covers lines 1-24,
     H1  lines  1-12, H2 lines 13-24, and so on.  A new symbol prefix,
     S, denotes a multiple of one sixth of the screen.   For  example,
     S56 is the bottom two sixths of the screen.  (There are other new
     predefined windows that occupy only the left or right  halves  of
     the      screen.       Type      "HELP      New_Features     V4.4
     Vertically_Divided_Windows".)

     The PROMPT display occupies S6  by  default,  but  can  be  moved
     elsewhere,  like any display.  Note that, to avoid confusion, the
     PROMPT display is always on top of the display  "pasteboard"  and
     therefore  will  hide  the  part of any display that overlaps the
     PROMPT window.

     By default, the OUT display is now at S45 (not, as previously, at
     H2),  so  it  will  not be hidden by the PROMPT display.  And the
     keypad keys that manipulate display windows have  been  redefined
     so   that   no  display  is  positioned  behind  S6  (Type  "HELP
     Release_Notes   V4.4   Key_Definitions").    If   your   debugger
     initialization  file  contains DISPLAY or SET DISPLAY commands to
     locate displays near the bottom of the screen  (for  example,  at
     H2,  T3,  or Q34) you may want to modify these window definitions
     so the displays will not be hidden.

     Type  "HELP  New_Features  V4.4  Window_Definitions"   for   more
     information on the new window definitions.

V4.6

     This section notes any known bugs that could not be fixed in time
     for  the  version  4.6  release.  Also noted are any incompatible
     changes that have been made for Version 4.6 of the debugger  that
     you should be aware of.  New features are listed separately under
     HELP New_Features.

Additional information available:

SET IMAGE CommandSET SCOPE CommandVAXstation support

SET IMAGE Command

     When you enter a SET IMAGE command, if  you  specify  a  list  of
     images, only the last image in the list is set.  For example:

          SET IMAGE A,B,C

     In this example, only image C is set.   Note  that  you  can  set
     images  A,  B,  and  C by issuing separate SET IMAGE commands for
     each image.

SET SCOPE Command

     Before issuing a SET SCOPE command, be sure that the module  that
     contains  the  elements  named  in the path name has already been
     set, either dynamically by the debugger or  by  means  of  a  SET
     MODULE command.  Use the SHOW MODULE command to determine whether
     a module is set --- that is, whether its symbols have been loaded
     into the run-time symbol table.

VAXstation support

     Previously, if the debugger detected that it  was  running  on  a
     VAXstation,  it  would create a separate emulated terminal window
     for its own input and  output.   This  meant  that  terminal  I/O
     performed  by  the program was logically and physically separated
     from DEBUG's I/O, particularly helpful when debugging screen mode
     applications.

     In order to remove a potential problem  on  the  VAXstation,  the
     method  DEBUG  uses  to  control  the  separate  window  has been
     changed.  Previously, DEBUG controlled the separate  window  with
     UIS$xxx  calls.   The  debugger now uses the new OSC sequences to
     communicate control functions to the terminal emulator.

     With this update, DEBUG's behavior  is  slightly  different.   It
     will  still  create  a  separate  window, but only if both of the
     following two conditions are met:

      o  You must be running the SDC release of VWS V3.0 (or higher).

      o  You must have the following system logical name defined:

         $ DEFINE/SYSTEM/EXEC UIS$VT_ENABLE_OSC_STRINGS TRUE


V5.0

     This section notes the following:

      o  Any known bugs that could not be fixed in  time  for  Version
         5.0.

      o  Any incompatible changes that have been made for Version 5.0.

      o  Any problems indicated in previous release  notes  that  have
         been corrected for Version 5.0.

     New features are listed separately under HELP New_Features.

Additional information available:

Corrected ProblemsDynamic Register DisplayMACRO SupportObsolete Commands
Screen Mode Line WrappingVAXstation DEBUG Separate Window Control

Corrected Problems

     Problems with the SET IMAGE and  SET  SCOPE  commands  that  were
     noted  in  the  V4.6 release notes have been corrected (type HELP
     RELEASE_NOTES V4.6 for a full description of the problems).

     Before Version 5.0, when you specified a list of images with  the
     SET  IMAGE  command, only the last image specified was set.  Now,
     all of the specified images are  set.   As  before,  the  current
     image is the last image in the list (the last image set).

     Previously, before issuing a SET SCOPE command,  you  had  to  be
     sure  that the module containing the path-name elements specified
     in the SET SCOPE command was set.  Now, if  that  module  is  not
     already  set, the SET SCOPE command will automatically set it for
     you.

Dynamic Register Display

     Register displays, such as the predefined display  REG,  are  now
     dynamic by default.  This means that the window dimensions adjust
     proportionally when you change the screen height or width with  a
     SET TERMINAL command.

     Also, a register display now reformats the displayed information,
     in  the  best  way  possible,  to the window in which it has been
     displayed.  The default window for REG remains RH1.  However,  if
     you   were  to  display  REG  in  window  Q3,  for  example,  the
     information would reformat automatically  to  fit  into  the  new
     window.

     Type HELP Screen_Features Register_Display for more information.

MACRO Support

     Several enhancements have been made to MACRO support for  Version
     5.0,  to  match  the support available with other languages (type
     HELP  New_Features  for  more  information).    Some   of   these
     enhancements  result in different behavior from previous versions
     of the debugger.

     When the language is set to MACRO, the default  behavior  of  the
     STEP command is now STEP/LINE (not STEP/INSTRUCTION, the previous
     behavior).  This change was made  possible  because  source  line
     display is now available for MACRO programs.

     When the language is set to MACRO,  the  debugger  interprets  an
     address  expression  used in a language expression as the current
     value stored at that address (not  the  address  denoted  by  the
     address  expression, the previous behavior).  This change affects
     how language expressions are evaluated by the commands  EVALUATE,
     DEPOSIT,  IF, FOR, REPEAT, and WHILE, and by WHEN clauses as used
     with the commands SET BREAK,  SET  TRACE,  and  SET  WATCH.   For
     example, the command DEPOSIT X = Y + 2 evaluates the sum of 2 and
     the current value of Y and deposits the resulting value  into  X.
     Previously,  that  command evaluated the sum of 2 and the address
     of Y and deposited the resulting value into X.

     As before, you can obtain the address of an address expression by
     means of the EVALUATE/ADDRESS command.

Obsolete Commands

     The  following  commands  and  command  qualifiers  are  obsolete
     starting  with  VMS Version 5.0 and are no longer documented, for
     the reasons stated.  For compatibility  with  previous  versions,
     these  commands  and  qualifiers  will  be supported indefinitely
     except as indicated.

  ALLOCATE
     The debugger now allocates and deallocates memory  automatically.
     This command now has no effect.

  CANCEL EXCEPTION BREAK
     This command duplicates the effect of the  newer  command  CANCEL
     BREAK/EXCEPTION,  which  better  conforms  to the general command
     format for canceling breakpoints.

  SET EXCEPTION BREAK
     This command duplicates the  effect  of  the  newer  command  SET
     BREAK/EXCEPTION,  which  better  conforms  to the general command
     format for setting breakpoints.

  SET MODULE/ALLOCATE
     The debugger now allocates and deallocates memory  automatically.
     This qualifier now has no effect.

  UNDEFINE
     This command duplicates the effect of the newer  command  DELETE,
     which conforms to the analogous DCL command DELETE.

  UNDEFINE/KEY
     This  command  duplicates  the  effect  of  the   newer   command
     DELETE/KEY,   which   conforms   to  the  anologous  DCL  command
     DELETE/KEY.

Screen Mode Line Wrapping

     The change described affects how  very  long  lines  of  debugger
     output are presented in the OUTPUT display or in a DO display ---
     for example, when you enter an EXAMINE command  to  examine  long
     ASCII strings.

     Before Version 5.0, the  debugger  wrapped  text  in  the  OUTPUT
     display  or in a DO display if the text was longer than the width
     of the terminal, regardless of the width of the display window.

     The debugger now wraps text in these displays only if it  exceeds
     255  characters.   If  there is any text beyond the right edge of
     the display window, a diamond-shaped  character  (or  a  question
     mark  for  terminals  that  do not support the diamond character)
     appears at the right edge.  This indication is analogous  to  the
     behavior of a text editor.

     To see the hidden text, enter the SCROLL/RIGHT command (or  press
     keypad-key 6 repeatedly, as needed).

VAXstation DEBUG Separate Window Control

     This note applies only to VAXstations.

     The default behavior of the debugger on VAXstations has changed.

     With the  addition  of  the  SET  MODE  [NO]SEPARATE  command,  a
     separate  window  for  debugger  input  and  output  is no longer
     created by default when you invoke the  debugger.   You  can  now
     control   the   creation  of  the  separate  window.   Type  HELP
     New_Features V5.0 SET_MODE_SEPARATE and HELP  SET  MODE  SEPARATE
     for more information.

     With the addition of the /[NO]POP qualifier  to  the  SET  PROMPT
     command,  the  debugger window no longer pops and attaches to the
     keyboard by default when the debugger prompts for input.  You can
     now  control  this  behavior.   Type  HELP  New_Features V5.0 SET
     PROMPT and HELP SET PROMPT/POP for more information.

     If you enter the SET PROMPT  command  without  specifying  a  new
     prompt  string, the prompt string is unchanged.  If you enter the
     command without the /[NO]POP qualifier, the  prompt  behavior  is
     set to /NOPOP, which is the default.

     The default behavior in V4.4, 4.5, and 4.6 was to pop the  window
     and attach it to the keyboard.

     To achieve the previous  behavior,  you  can  put  the  following
     commands in your DBG$INIT file:

     SET MODE SEPARATE
     SET PROMPT/POP

Screen Features

     The debugger provides a set of screen  features  designed  to  be
     used  on  VT52,  VT100  and  VT200  series terminals and MicroVAX
     workstations.  The command SET MODE SCREEN activates screen  mode
     and  SET  MODE  NOSCREEN deactivates it.  In screen mode, "screen
     displays" can be  defined  and  viewed  through  windows  on  the
     terminal  screen.   A  screen  display  is a data structure which
     contains lines of text.  The text may be normal debugger  output,
     the  text  of  a  source  file,  a special register display, or a
     special assembly-language instruction display.   The  text  of  a
     display may be viewed through a window on the terminal screen and
     can be scrolled back and forth through that window.  When  screen
     mode is first set, the debugger provides the following predefined
     displays:  a source display  (SRC),  a  debugger  output  display
     (OUT),  and a special display (PROMPT) where the debugger prompts
     for  input.   Optionally,  a  register  display  (REG)   and   an
     instruction display (INST) can also be displayed.

Additional information available:

CommandsDisplay AttributesDisplay KindsExamplesInstruction Display
KeypadMoving DisplaysPredefined DisplaysPROMPT Display
Register DisplayResizing DisplaysScreen ModeScrollingSource Display
Windows

Commands

     A number of commands are used to control  the  debugger's  screen
     features.   They  are  grouped  here  according  to their general
     purpose.

     Control overall operation:  SET MODE SCREEN     SET TERMINAL
                                 SET MODE NOSCREEN   SHOW TERMINAL

     Create screen windows:      SET WINDOW          CANCEL WINDOW
                                 SHOW WINDOW

     Create screen displays:     SET DISPLAY         CANCEL DISPLAY
                                 SHOW DISPLAY

     Modify screen displays:     DISPLAY             SCROLL
                                 EXPAND              SELECT
                                 MOVE                SHOW SELECT

     Preserve screen displays:   EXTRACT             SAVE

     You can obtain further information  on  each  of  these  commands
     through  HELP.   The  most  frequently used commands are DISPLAY,
     SCROLL, EXPAND and MOVE.  The DISPLAY command is used  to  modify
     the  absolute  position  of  displays  on  the  screen, to modify
     display attributes,  and  to  refresh  the  screen,  among  other
     things.  The SCROLL command scrolls the text of a display through
     its screen window.  The  EXPAND  and  MOVE  commands  modify  the
     relative position of displays on the screen.

     The EXPAND, MOVE, and SET TERMINAL commands are especially useful
     for  manipulating  displays  on  the  larger screen of a MicroVAX
     workstation.

Display Attributes

     You can assign attributes to displays  by  means  of  the  SELECT
     command.  The possible display attributes are:

      o  ERROR  ---  A  display  with  the  ERROR  attribute  displays
         debugger diagnostic messages.

      o  INPUT --- A display with  the  INPUT  attribute  echoes  your
         debugger input.

      o  INSTRUCTION --- A  display  with  the  INSTRUCTION  attribute
         displays  the  decoded MACRO instruction stream of the module
         being debugged.  The keypad-key sequence  BLUE-COMMA  selects
         the  next  instruction  display  on  the  display list as the
         current instruction display.

      o  OUTPUT --- A  display  with  the  OUTPUT  attribute  displays
         debugger output that is not already being directed to another
         display (for example, diagnostic messages).   The  keypad-key
         sequence  GOLD-KP3  selects  the  next  output display on the
         display list as the current output display.

      o  PROGRAM --- A display  with  the  PROGRAM  attribute  is  the
         display where program input and output are forced.

      o  PROMPT --- A display with the PROMPT attribute is the display
         where the debugger prompts for input.

      o  SCROLL ---  A  display  with  the  SCROLL  attribute  can  be
         scrolled  with  the  SCROLL command (or keypad keys KP2, KP8,
         KP4, and KP6).  KP3 selects the next display on  the  display
         list  as  the  current  scrolling display (except for PROMPT,
         which cannot be scrolled).

      o  SOURCE --- A display with the SOURCE attribute  displays  the
         source  code of the module being debugged, if available.  The
         keypad-key sequence BLUE-KP3 selects the next source  display
         on the display list as the current source display.


     Although a display can have more than one attribute,  subject  to
     the kind of display it is, only one display can have a particular
     attribute.  That display is then known as the  "current"  display
     with  that  attribute  (for  example,  current scrolling display,
     current input display).

     In the following example, the display  OUT  is  selected  as  the
     current  input,  error, and scrolling display.  After the command
     is executed debugger input, debugger  output  (assuming  OUT  was
     previously selected for output), and debugger diagnostic messages
     will be logged in the OUT display in the proper sequence, and OUT
     will be the current scrolling display:

          DBG> SELECT/INPUT/ERROR/SCROLL OUT

     Attributes can be assigned to the various display kinds  only  as
     follows:








                                  Display Kind:
                   DO  INSTRUCTION  OUTPUT  PROGRAM  REGISTER  SOURCE
     Attribute:
     ERROR                           yes      yes
     INPUT                           yes
     INSTRUCTION           yes
     OUTPUT                          yes      yes
     PROGRAM                                  yes
     PROMPT                                   yes
     SCROLL        yes     yes       yes      yes       yes     yes
     SOURCE                                                     yes

     You unselect one or more attributes (deassign  the  attribute(s))
     by  issuing  the SELECT command with the appropriate qualifier(s)
     but without specifying a display.   For  example,  the  following
     command unselects the INSTRUCTION and SCROLL attributes:

          DBG> SELECT/INSTRUCTION/SCROLL

     After the command is executed, no display has the INSTRUCTION  or
     SCROLL  attribute.   When the ERROR, OUTPUT, or PROGRAM attribute
     is unselected only the PROMPT display shows diagnostic  messages,
     debugger  output,  or  program  output,  respectively.   When the
     INPUT, INSTRUCTION, SCROLL, or SOURCE attribute is unselected, no
     display,  including  the PROMPT display, has that attribute.  The
     PROMPT attribute cannot be unselected.

     By default, when you invoke screen mode, the predefined  displays
     are selected for attributes as follows:

     Attribute:      Predefined display:
     ERROR                PROMPT
     INPUT
     INSTRUCTION
     OUTPUT               OUT
     PROGRAM              PROMPT
     PROMPT               PROMPT
     SCROLL               SRC
     SOURCE               SRC

Display Kinds

     There are five kinds of screen displays:  output displays, source
     displays,  register  displays,  instruction displays, and program
     displays (only  the  predefined  display  named  PROMPT  has  the
     display  kind  PROGRAM).  An output display holds normal debugger
     output lines up to some  maximum  number  of  lines.   An  output
     display   may   also  have  a  debugger  command  list  which  is
     automatically executed to create the display text each  time  the
     debugger  gets  control  from the user program.  A source display
     displays the program's source code.  The  output  from  TYPE  and
     EXAMINE/SOURCE  commands can be directed to a source display, and
     a source display can be automatically updated through a  list  of
     debugger  commands.  An instruction display is much like a source
     display, except that  it  holds  assembly  language  instructions
     instead  of source lines.  The output from an EXAMINE/INSTRUCTION
     command can  be  directed  to  an  instruction  display,  and  an
     instruction  display  can be automatically updated through a list
     of debugger commands.  A register display shows the  contents  of
     the  VAX  registers,  and is automatically updated as the program
     runs.  The register  display  is  primarily  intended  for  MACRO
     programmers.   Except  for  the  PROGRAM  display  named  PROMPT,
     displays of all kinds are created with the SET  DISPLAY  command.
     They  are  manipulated  on  the  screen with the DISPLAY command,
     which takes a number of qualifiers.

Examples

     The following command places the source display SRC in  the  left
     top half of the screen, the instruction display INST in the right
     top half, the output display OUT under these two  in  the  fourth
     and  fifth  sixths  of  the screen, and the PROMPT display in the
     bottom sixth.

     DBG> DISPLAY SRC AT LH1, INST AT RH1, OUT AT S45, PROMPT AT S6


     The following set of commands place the register display  REG  at
     the  top  of  the  screen,  create a new display WATCHABCD in the
     middle of the screen to watch variables A,B,C, and D,  and  place
     the OUT display below these, above the PROMPT display.

     DBG> DISPLAY REG AT T1
     DBG> SET DISP/MARK WATCHABCD AT T2 DO (EXAMINE A,B,C,D)
     DBG> DISP OUT AT S5

Instruction Display

     An instruction display gives you a  scrollable  window  into  the
     assembly-language  instruction  stream.   The  predefined display
     INST is an instruction display which is automatically updated  so
     that  the  arrow  points  to  the instruction at your current PC.
     DISPLAY INST makes it appear.  The numbers to  the  left  of  the
     instructions are line numbers.

     If you select the instruction display  using  "SELECT/INST  INST"
     (or,    PF4-COMMA   on   the   keypad),   then   output   of   an
     EXAMINE/INSTRUCTION  command  is  directed  to  the   instruction
     display.

     If you select the instruction diplay  as  the  scrolling  display
     using  SELECT/SCROLL INST (or by rotating the scrolling attribute
     with KP3), then you can scroll it up, down, left, or right.

     Pressing keypad-key KP7 places the predefined source display  SRC
     in  the  upper  left  half of the screen (LH1), INST in the upper
     right half of the screen (RH1), the predefined output display OUT
     below  these  two at S45, and the PROMPT display below OUT at S6.
     Pressing the combination BLUE-MINUS  redisplays  SRC  across  the
     entire   top   half   of   the   screen   (this  is  the  default
     configuration).

Keypad

     Many of the keypad keys are predefined  to  be  screen  commands.
     For example:

     KP8,  KP6,  KP2,  and  KP4   are   "scroll/up",   "scroll/right",
     "scroll/down", and "scroll/left", respectively.  The display that
     is scrolled is determined  by  which  display  has  the  "scroll"
     attribute.   This  attribute  can  be cycled through the displays
     using the KP3 key.

     There are a few predefined screen layouts that  can  be  selected
     with  keypad  keys:   (1) A source display on the top half of the
     screen, and an output display on most of the bottom  half,  above
     the  prompt  display.   This  is  the  default  layout  for  most
     languages.  The screen can always be put in this state  with  the
     keypad  key sequence BLUE-MINUS.  (2) A source display in the top
     left half, and instruction display in the top right half, and  an
     output  display  under these two, above the prompt display.  This
     can be selected with key KP7.  (3) An instruction display in  the
     top  left  half, a register display in the top right half, and an
     output display under these two, above the prompt  display.   This
     can always be selected with the key sequence GOLD-KP7.

Moving Displays

     You can move a display vertically and/or horizontally across  the
     screen  by  means  of  the  MOVE  command.   Type HELP MOVE for a
     description of the MOVE command.

Predefined Displays

     The debugger has five predefined  displays  which  are  available
     when you invoke screen mode:

     (1)  A  source  display  called  SRC,  which   is   automatically
     positioned at your current PC, can be repositioned using the TYPE
     or EXAMINE/SOURCE commands, and can be scrolled up and down using
     keys  KP8  and  KP2.   See  the  Source_Display subtopic for more
     information.

     (2) An assembly-language instruction display called  INST,  which
     is   automatically  positioned  at  your  current  PC.   INST  is
     initially removed but can be made to appear using "DISPLAY INST".
     It  can  be selected as the scrolling display by using key KP3 to
     rotate the  scroll  attribute  to  the  INST  display,  and  then
     scrolled   up   or   down   using   KP8   and   KP2.    See   the
     Instruction_Display subtopic for more information.

     (3) A register display called REG, which is automatically updated
     to  show  the current values of your registers.  REG is initially
     removed but can be made to appear with the command  DISPLAY  REG.
     See the Register_Display subtopic for more information.

     (4) An output  display  called  OUT,  where  debugger  output  is
     directed.   If  you want to intermix debugger input and output in
     the same display, you can copy debugger input to the OUT  display
     with "SELECT/INPUT OUT".

     (5) A prompt display called PROMPT, where  the  debugger  prompts
     for  input,  forces  program  output,  and  (by  default)  prints
     debugger diagnostic messages.  See  the  PROMPT_Display  subtopic
     for more information.

PROMPT Display

     The PROMPT predefined display is a  non-scrollable  display  that
     shows  the  debugger  prompt,  debugger  input,  and (by default)
     program output and debugger  diagnostic  messages.   By  default,
     PROMPT  occupies  the  bottom sixth of the screen (the predefined
     window S6).  On a VT100 or VT200  series  terminal,  S6  includes
     lines 21 through 24.

     The PROMPT display is of the display kind "PROGRAM".   PROMPT  is
     the  only  display of that kind (no other PROGRAM displays can be
     created).  Note that, compared  to  other  displays,  PROMPT  has
     several   restrictions,  to  eliminate  possible  confusion  when
     manipulating that display:

      o  PROMPT can never be hidden by another display.  It is  always
         on top of the display "pasteboard".

      o  PROMPT can be moved anywhere on the screen, expanded to  fill
         the  full  screen  height, and shrunk down to two lines.  But
         PROMPT must always occupy the full width of the  screen  and,
         therefore,   can   not   be   moved,   expanded,   or  shrunk
         horizontally.


     See the Display_Attributes subtopic for information on  assigning
     display  attributes  to  various  displays,  including the PROMPT
     display.

Register Display

     A register display is an automatically updated display that shows
     the  current  values  (in  hexadecimal format) of all VAX machine
     registers (R0 through R11), the four condition code bits  (C,  V,
     Z,  and  N)  of  the processor status longword (PSL), and the top
     several values on the stack and on  the  current  argument  list.
     Values  in a register display are highlighted when they change as
     you execute the program.

     The predefined  display  REG  is  a  register  display.   REG  is
     initially  marked  as  removed from the display pasteboard and is
     not visible.  You need to use the DISPLAY command (or the  keypad
     key  sequence  GOLD-7)  to  show  the  REG display.  The sequence
     GOLD-KP7 places the predefined instruction display  INST  in  the
     upper  left half of the screen (LH1), REG in the upper right half
     of the screen (RH1), the  predefined  output  display  OUT  below
     these  two  at  S45,  and  the  PROMPT  display  below OUT at S6.
     Pressing the sequence BLUE-MINUS redisplays SRC across the entire
     top half of the screen (this is the default configuration).

     Like other displays, register displays are  dynamic  by  default.
     This  means that the window dimensions adjust proportionally when
     you change the  screen  height  or  width  with  a  SET  TERMINAL
     command.   In  addition,  if  the window of a register display is
     resized,  the  debugger  automatically  reformats  the  displayed
     information to adapt to the new window size.  The debugger always
     displays the contents of registers R0 through R11,  AP,  FP,  SP,
     PC,  and  PSL.  If the resized window is too small to display all
     the  register  information,  you   can   scroll   vertically   or
     horizontally  to view any information that may be hidden.  If the
     resized window is  larger  than  necessary  to  display  register
     information,   the   debugger  fills  the  remaining  space  with
     information (in hexadecimal format) contained in the user stack.

Resizing Displays

     You can expand and contract  displays  by  means  of  the  EXPAND
     command.   Type  HELP  EXPAND  for  a  description  of the EXPAND
     command.

Screen Mode

     When the  debugger  is  invoked,  five  predefined  displays  are
     created automatically.  The first time you enter screen mode with
     the SET MODE SCREEN command,  the  debugger  puts  three  of  the
     displays  on the screen for you:  a source display (SRC) which is
     automatically updated as you STEP or GO through your program,  an
     output  display (OUT) which captures your normal debugger output,
     and a prompt display (PROMPT) where the debugger prompts for your
     input.   The  instruction display (INST) and the register display
     (REG) are  also  created  but  not  displayed  initially.   These
     capture    the   current   instruction   stream   and   registers
     respectively.  Except for the PROMPT display, each display can be
     scrolled  back  and  forth with the SCROLL command.  You can turn
     off screen mode with the command SET MODE NOSCREEN,  after  which
     you can use the terminal in the normal manner without the display
     windows.  The displays still exist, however, and can  be  brought
     back at any time by again entering SET MODE SCREEN.

Scrolling

     All screen displays except for the PROMPT display can be scrolled
     through their screen windows by entering the SCROLL command.  For
     example, SCROLL/UP SRC scrolls the window up  over  display  SRC.
     To  avoid  having  to  specify  the  display  name on your SCROLL
     commands, you can select the display you want to  scroll  as  the
     "current  scrolling  display"  with  the  SELECT  command.   Thus
     SELECT/SCROLL SRC followed by SCROLL/UP causes  the  debugger  to
     scroll up through display SRC even through SRC was not explicitly
     named on the SCROLL  command.   For  more  information,  see  the
     SCROLL and SELECT commands.

Source Display

     A source display gives you a scrollable window into  your  source
     code.   The  predefined source display SRC has associated with it
     the command "EXAMINE/SOURCE  .%SOURCE_SCOPE\%PC".   This  command
     causes  the  display to be automatically centered at your current
     source line.  The built-in symbol  %SOURCE_SCOPE  means  scope  0
     when  source lines are available in scope 0.  Otherwise, it means
     the same as scope N, where N is the first level  going  down  the
     stack where source lines are available.

     The significance of the %SOURCE_SCOPE symbol is that if  your  PC
     value  is at a location where source lines are not available (for
     example, in an RTL routine), the  debugger  attempts  to  display
     source lines in the caller of the current routine (that is, scope
     1 or 1 level down the stack).  If  source  lines  are  still  not
     available  at  that level, the debugger tries scope 2, and so on.
     If the source display shows source lines that are not  associated
     with the current routine, an informational message to that effect
     is displayed.

     Pressing  the  keypad-key  sequence   BLUE-MINUS   displays   the
     predefined  displays SRC in the top half of the screen, OUT below
     SRC at S45, and PROMPT at the bottom of the screen at  S6.   This
     is  the default.  Pressing keypad-key KP7 places SRC in the upper
     left half of the screen (LH1), the instruction  display  INST  in
     the  upper right half of the screen (RH1), OUT below these two at
     S45, and PROMPT below OUT at S6.

Windows

     A screen window is a rectangular region on  the  terminal  screen
     defined by the four quantities (RBEG, RLEN, CBEG, CLEN).  RBEG is
     the line number at which the window starts and RLEN is the number
     of  lines  of  text  in the window.  CBEG is the column number at
     which the window starts and CLEN is the number of columns (width)
     of  the  window.  If the CBEG and CLEN numbers are omitted from a
     window definition then the window defaults to the full  width  of
     the screen.

     The debugger provides a number of predefined windows for  regions
     such  as  the top half of the screen, the top left quarter of the
     screen, and so on.  For example:

     H1 = top half of screen = (1,11,1,80)
     H2 = bottom half of screen = (13,11,1,80)
     LH1 = top left quarter of screen = (1,11,1,40)

     There are also T1, T2, and  T3  for  thirds  of  the  screen,  Q1
     through Q4 for quarters, S1 through S6 for sixths, and E1 through
     E8 for eigths.  Each of these also has a "L" for left  half  (for
     example,  LQ1) and and "R" for right half (for example, RQ1).  FS
     denotes the full screen.

     You can see all defined windows through the SHOW WINDOW  command.
     You  can  also  define your own named windows with the SET WINDOW
     command, or delete window names with the CANCEL  WINDOW  command.
     Windows  are specified on the DISPLAY and SET DISPLAY commands to
     indicate where displays are to be shown on the terminal screen.

     Example:
     DBG> DISPLAY SRC AT LH1
     DBG> DISPLAY INST AT RH1
     DBG> DISPLAY OUT AT S4
     DBG> DISPLAY PROMPT AT S56

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026