Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

%LABEL

%LINE

ALLOCATE

ATTACH

CALL

CANCEL

DBG$HELP

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

UNDEFINE

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

ALLOBNDS

AMBFIELD

AMBIGQUAL

AMPERSAND

ASTWASDISABLED

ASTWASENABLED

ATTACHED

BADDESCR

BADDST

BADEVNPAR

BADEXH

BADFRAME

BADOPCODE

BADSCOPE

BADSIGARG

BADSTACK

BADSTARTPC

BADSTATUS

BADTAGVAL

BADTARGET

BADUSREVNT

BADWATCH

BASVARNOTSET

BITRANGE

BWLGISMUS

CANTCREATEMAIN

CANTGETFID

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

ERRACTIMG

ERRASSIGN

ERRCLSFILE

ERRCRELNM

ERRDEASSIGN

ERRFAO

ERRGETDVI

ERRGETEF

ERRINSDEC

ERRINVEDIT

ERRQIOW

ERRSMG

ERRSYSSERV

ERRUSREVNT

EXARANGE

EXCDURCAL

EXITARG

EXITSTATUS

FILEUNAL

FLTOVF

GETJPI

HEIGHTDIFF

IDENTLONG

IFIXUND

IFLTUND

IINTOVF

ILLADDCON

ILLASTER

ILLDEFNAM

ILLENUMVAL

ILLFILPTR

ILLFLOAT

ILLLENGTH

ILLOFFSET

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

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

MAXSTRLEN

MISCLOSUB

MISINVNUM

MISINVOPER

MISMODBEG

MISMODEND

MISOPEMIS

MODUSCOPE

NAMSTRMIS

NAMTOOLONG

NEEDMORE

NEEDPAREN

NOACCESSR

NOACCESSW

NOADDRREG

NOALTERSP

NOATTACH

NOBREAGGR

NOBREAKAT

NOBREAKS

NOCALLS

NOCANMAIN

NOCURLOC

NODELIMTR

NODEPDEBUG

NODIRLISM

NODIRLIST

NOELABBODY

NOELABSPEC

NOEND

NOEVALEXPR

NOEVENTFAC

NOFIELD

NOFREE

NOGLOBALS

NOINSTRAN

NOKEYDEF

NOKEYPAD

NOLASTVAL

NOLINXXX

NOLOCALS

NOMARKCHNG

NOMATCH

NONUMSCOPE

NONXTLIN

NOOCCLDISP

NOPACKMEMBODY

NOPACKMEMSPEC

NOPRED

NOPROMPT

NORMAL

NORSTBLD

NOSAVPROG

NOSCOPE

NOSCRDEV

NOSCRMODE

NOSCROLL

NOSCROLLDISP

NOSETTERM

NOSPAWN

NOSPAWNI

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

NOTRECORD

NOTREE

NOTTASKVAL

NOTUNQOVR

NOTUPDATE

NOTYPEINFO

NOUNIQUE

NOUNIVERSALS

NOUSREVNT

NOVALTYP

NOVALUE

NOWATCHES

NOWATTAR

NOWATVARIA

NOWATVARSTG

NOWBPT

NOWILDFIL

NOWOPCO

NOWPROT

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

RSTERR

SCALEADD

SCALESUB

SCRTOBIG

SCRTOSMALL

SETKEY

SETKEYERR

SETMODU

SETSCOMOD

SFCNTNEG

SHOKEYERR

SIDEFFECT

SIZEATOMIC

SIZETRUNC

SOURCESCOPE

SPAWNED

SRCLINNOT

SS_INT

STEPINTO

STGTRUNC

STRNGPAD

STRTOOLONG

STRUCSIZE

SUBOUTBND

SUBSCRNG

SUBSTRING

SUBUNITCAN

SUBUNITNOTCAN

SUBUNITNOTSET

SUBUNITSET

SUPERDEBUG

SYMNOTACT

SYMNOTFND

SYNERREXPR

SYNERRLABEL

SYNERRLINE

SYNTAX

TASKERROR

TASKNOTABORT

TASKNOTACT

TASKNULL

TIMESLICE

TOOFEWSUB

TOOMANDIM

TOOMANERR

TOOMANINV

TOOMANPARM

TOOMANSUB

UNACREDBGO

UNACVT

UNAEXPMEM

UNALIGNED

UNALLOCATED

UNAOPEDBGI

UNAOPESCR

UNAOPNHLP

UNAOPNINI

UNAOPNSRC

UNAREASRC

UNASAVVAL

UNASETIMG

UNASETTAS

UNASWISTA

UNBPAREN

UNDEXPN

UNDKEY

UNIMPLENT

UNMTCHPARN

UPBNDOPT

USREVNTERR

VALNOTADDR

VARNESDEP

VERIFYICF

WATCHSIZE

WIDTHDIFF

WITHCAN

WITHNOTCAN

WITHNOTSET

WITHSET

WPTTRACE

ZERLENDST

ZEROINCR

Parameters

V4.2

V4.4

V4.6

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

V4.2

V4.4

V4.6

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

Commands

Built-in Displays

Display Attributes

Display Kinds

Examples

Instruction Display

Keypad

Moving Displays

PROMPT Display

Resizing Displays

Screen Mode

Scrolling

Source Display

Windows

DEBUG — MicroVMS 4.6

Additional information available:

%LABEL%LINEALLOCATEATTACHCALLCANCELDBG$HELP
DBG$INITDEBUGDECLAREDEFINEDELETEDEPOSITDISABLE
DISPLAYEDITENABLEEVALUATEEXAMINEEXITEXITLOOP
EXPANDEXTRACTFORGOHELPIFMOVE
QUITREPEATSAVESCROLLSEARCHSELECTSET
SHOWSPAWNSS$_DEBUGSTEPSYMBOLIZE
TYPEUNDEFINEWHILE

@file-specAddress-exprControlKeypadLanguagesLexicalsMessages
New FeaturesPathnamesRelease NotesScreen features

@file-spec

     Execute DEBUG commands from the  specified  file.   If  you  have
     issued  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  special  DEBUG  built-ins  %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.  It's 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 DEBUG keypad 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 (e.g., 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

     DEBUG 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 DEBUG 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, execute the DEBUG command to display  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, execute the DEBUG
     command to display 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

     DEBUG provides builtin 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  (i.e.,  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

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


     DEBUG 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  --  builtins  to  provide  information  about  the
     current exception.

     %ACTIVE_TASK, %CALLER_TASK, %NEXT_TASK, %TASK, and  %VISIBLE_TASK
     -- builtins 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  (indirect  command  file).  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 DEBUG permanent symbol  which  represents  the  current
     logical  entity, i.e.  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 DEBUG permanent symbol  which  represents  the  logical
     successor  to the current entity, i.e.  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 DEBUG permanent symbol  which  represents  the  logical
     predecessor  to  the  current  entity, i.e.  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  (i.e.   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  DEBUG  is  using  to  do
     symbol  lookups.   It  is  the  default task assumed by debugging
     commands when you don't (or can't) 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
ADDRESSMODEADDRREGALLOBNDSAMBFIELDAMBIGQUAL
AMPERSANDASTWASDISABLEDASTWASENABLEDATTACHED
BADDESCRBADDSTBADEVNPARBADEXHBADFRAMEBADOPCODE
BADSCOPEBADSIGARGBADSTACKBADSTARTPCBADSTATUS
BADTAGVALBADTARGETBADUSREVNTBADWATCH
BASVARNOTSETBITRANGEBWLGISMUSCANTCREATEMAIN
CANTGETFIDCMDSYNERRCMPNOTFNDCONFLICT
CONFROMEXCCONSTRCOMPCPOSTDECRCPOSTINCR
CPREDECRCPREINCRCRMPSCFAILCVTNEGUNSDBGERR
DECLARERRDECOVFDECROPRANDDEFKEYDEFKEYERR
DELBREAKDELKEYDELKEYERRDELTIMTOODELTRACE
DESCNOTSETDISABLEASTDISNOTSELDISPEXISTS
DISPRLENSIZDIVBYZERODSTERRGDSTNESDEP
DYNIMGSETDYNMODSETEDITDISVEREDITERROR
EDITFILEEDITNOFILEEDITREVVERENABLEAST
ENTRYMASKENUMRANGEERRACTIMGERRASSIGN
ERRCLSFILEERRCRELNMERRDEASSIGNERRFAO
ERRGETDVIERRGETEFERRINSDECERRINVEDIT
ERRQIOWERRSMGERRSYSSERVERRUSREVNTEXARANGE
EXCDURCALEXITARGEXITSTATUSFILEUNALFLTOVF
GETJPIHEIGHTDIFFIDENTLONGIFIXUNDIFLTUND
IINTOVFILLADDCONILLASTERILLDEFNAMILLENUMVAL
ILLFILPTRILLFLOATILLLENGTHILLOFFSETILLPACSIZILLPATH1ILLPATH2
ILLPATHELEMILLPOSFLDILLQUALIFILLRANGEILLSETCONILLSIGEXT
ILLSIZFLDILLSUBLENILLSUBSTRILLTYPEINCDSTNESINCOMPOPR
INCOMPPTRINCOMQUALINDBASEQLINITIAL
INPREADERRINSVIRMEMINTERRINTMEMERR
INTOVFINUMTRUNCINVARGLISINVARRDIMINVARRDSC
INVCHARINVCHRCONINVDIGBININVDIGDECINVDIGHEXINVDIGOCT
INVDIRNAMINVDMTPTRINVDSPSIZINVDSTREC
INVEXPRINVFIXDSTINVFLDREFINVGSTRECINVGSTTYP
INVMARINVNUMBERINVNUMSRCINVNUMSTR
INVOPADDRINVOPSYMINVPAGEINVPRIORINVRANSPEC
INVSELDISINVSRCLININVTIMSLIINVWIDTHINVWINPARIRFAOVF
ISTRTRUIVALOUTBNDSLASTCHANCELINEINFOLONGSTRING
LOOPINCRLOOPVARLOWBNDOPTMATQUOMISMAXSTRLEN
MISCLOSUBMISINVNUMMISINVOPERMISMODBEG
MISMODENDMISOPEMISMODUSCOPENAMSTRMIS
NAMTOOLONGNEEDMORENEEDPARENNOACCESSR
NOACCESSWNOADDRREGNOALTERSPNOATTACH
NOBREAGGRNOBREAKATNOBREAKSNOCALLSNOCANMAIN
NOCURLOCNODELIMTRNODEPDEBUGNODIRLISMNODIRLIST
NOELABBODYNOELABSPECNOENDNOEVALEXPR
NOEVENTFACNOFIELDNOFREENOGLOBALSNOINSTRAN
NOKEYDEFNOKEYPADNOLASTVALNOLINXXXNOLOCALSNOMARKCHNG
NOMATCHNONUMSCOPENONXTLINNOOCCLDISPNOPACKMEMBODY
NOPACKMEMSPECNOPREDNOPROMPTNORMALNORSTBLD
NOSAVPROGNOSCOPENOSCRDEVNOSCRMODENOSCROLL
NOSCROLLDISPNOSETTERMNOSPAWNNOSPAWNINOSRCHSTR
NOSRCLINNOSTEPGONOSUCCNOSUCHBPTNOSUCHDISP
NOSUCHELPNOSUCHIMGNOSUCHMODUNOSUCHPACK
NOSUCHSCOPENOSUCHTASKNOSUCHTPTNOSUCHWIND
NOSUCHWPTNOSYMBOLNOSYMBOLRNOTADAPROG
NOTARRAYNOTASTRUCTNOTATMAINNOTCURPCNOTDEFINE
NOTIMPLANNOTINLOOPNOTINSTNOTORIGSRC
NOTPTRNOTRACESNOTRECORDNOTREENOTTASKVAL
NOTUNQOVRNOTUPDATENOTYPEINFONOUNIQUE
NOUNIVERSALSNOUSREVNTNOVALTYPNOVALUENOWATCHES
NOWATTARNOWATVARIANOWATVARSTGNOWBPTNOWILDFIL
NOWOPCONOWPROTNULLPTRNUMCONLONGNUMTRUNC
OPCDECOPNOTALLOWOPSYNTAXOUTPUTLOSTPACSIZREQ
PARENREQPARSTKOVRPATHNOTACPPATHTLONG
PATHTOOLONGPCNOTALLPLICVTERRPROFRANOT
PROMPTCLENPROMPTOCCLPROMPTRLENPROVRFLOW
PXCNQUOSTRLONGREADERRREGREQRENAMENOT
RETURNEDRNDFCTROUTROPRANDFRSTERRSCALEADDSCALESUB
SCRTOBIGSCRTOSMALLSETKEYSETKEYERRSETMODU
SETSCOMODSFCNTNEGSHOKEYERRSIDEFFECTSIZEATOMIC
SIZETRUNCSOURCESCOPESPAWNEDSRCLINNOTSS_INT
STEPINTOSTGTRUNCSTRNGPADSTRTOOLONGSTRUCSIZESUBOUTBND
SUBSCRNGSUBSTRINGSUBUNITCANSUBUNITNOTCANSUBUNITNOTSET
SUBUNITSETSUPERDEBUGSYMNOTACTSYMNOTFND
SYNERREXPRSYNERRLABELSYNERRLINESYNTAX
TASKERRORTASKNOTABORTTASKNOTACTTASKNULL
TIMESLICETOOFEWSUBTOOMANDIMTOOMANERR
TOOMANINVTOOMANPARMTOOMANSUBUNACREDBGO
UNACVTUNAEXPMEMUNALIGNEDUNALLOCATED
UNAOPEDBGIUNAOPESCRUNAOPNHLPUNAOPNINI
UNAOPNSRCUNAREASRCUNASAVVALUNASETIMG
UNASETTASUNASWISTAUNBPARENUNDEXPNUNDKEY
UNIMPLENTUNMTCHPARNUPBNDOPTUSREVNTERR
VALNOTADDRVARNESDEPVERIFYICFWATCHSIZE
WIDTHDIFFWITHCANWITHNOTCANWITHNOTSET
WITHSETWPTTRACEZERLENDSTZEROINCR

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  a  DEBUG   command
     EXAMINE/SOURCE  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.

ALLOBNDS

 Message:  must allocate at least 1000 bytes

 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.

BADDESCR

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

 Severity:  Warning.

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,
     DEBUG  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, can't
     read frame near frame-addr

 Severity:  Informational.

 Explanation:  DEBUG is attempting  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 accessable
     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 preceeding saved frame  pointer)  and  correct  it.   Since
     DEBUG  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.

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,
     can't read sigarg vector near sigarg-addr

 Severity:  Informational.

 Explanation:  DEBUG is attempting  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 accessable 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 DEBUG 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,  DEBUG  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:  Informational.

 Explanation:  DEBUG 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 behaviour.  If so, then take  corrective  action.   If,
     after  this  evaluation, you believe that the problem lies in Vax
     DEBUG, 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 writable.  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.

BWLGISMUS

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

 Severity:  Error.

CANTCREATEMAIN

 Message:  cannot create the main debugger subprocess

 Severity:  Error.

 Explanation:  An error occured while trying to create a subprocess to
     run the main debugger image 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 occured 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.

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  DEBUG  coding   error;   DEBUG   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.

ERRACTIMG

 Message:  unable to activate image

 Severity:  Informational.

 Explanation:  A bad status was returned  from  LIB$FIND_IMAGE_SYMBOL.
     This message should be issued in the $DBG_INFO context.

 User Action:  The image the debugger was trying to activate could not
     be  activated.   The  following  error should help to resolve the
     problem.

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:  DEBUG  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:  DEBUG 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:  DEBUG wanted to allocate a local event  flag  for  it's
     own  use.   For  some  reason  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 involking editor

 Severity:  Informational.

 Explanation:  While trying to involke 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).

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 can't be explained submit a Software
     Performance Report (SPR).

ERRSYSSERV

 Message:  error returned from an internal DEBUG 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  <vms_sysrout_r>  for more information about the VAX/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.

ILLOFFSET

 Message:  bit or byte offset value larger  than  64K  not  supported,
     value given is offset_value

 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 DEBUG memory pool

 Severity:  Informational.

INTERR

 Message:  internal DEBUG 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 at location address_value

 Severity:  Fatal.

 Explanation:  The debugger's internal memory area has been  corrupted
     or is inconsistent at the specified location.  This can be caused
     by an internal DEBUG 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  DEPOSIT commands 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.

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
     DEBUG  command  SET  SOURCE  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 DEBUG 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,  DEBUG 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  the DEBUG command SET MARGIN.  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 on  the
     DEBUG command SET MAC_SOURCE_FILES.  The maximum number of source
     files that DEBUG 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 in  the  DEBUG
     command  TYPE.   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 overwitten 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.

MAXSTRLEN

 Message:    maximum   allowed   length   is   string_length   in   an
     EXAMINE/ASCII:n command

 Severity:  Warning.

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.

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 DEBUG's address space is not allowed

 Severity:  Warning.

NODIRLISM

 Message:  no source directory list in effect for path_name

 Severity:  Warning.

 Explanation:  The DEBUG 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 DEBUG command CANCEL SOURCE 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.

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.

 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  on  the  DEBUG
     command  TYPE  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   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.

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:  The DEBUG command TYPE or SEARCH  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, un-select, 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.

NOSPAWNI

 Message:  spawn command failed

 Severity:  Informational.

NOSRCHSTR

 Message:  search string not set

 Severity:  Warning.

 Explanation:  No current search  string  is  defined  for  the  DEBUG
     command  SEARCH.  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 on the DEBUG command EXAMINE/SOURCE.

 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 DEBUG command SET SOURCE 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.

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.

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.

NOWPROT

 Message:  cannot set protection

 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:  DEBUG 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.

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.

SETMODU

 Message:  set module command has completed

 Severity:  Informational.

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 DEBUG 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 don't  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.

SUBUNITCAN

 Message:  num_subunits subunit modules also canceled

 Severity:  Informational.

SUBUNITNOTCAN

 Message:  num_subunits subunit modules not canceled

 Severity:  Informational.

SUBUNITNOTSET

 Message:  parent module not set SET MODULE path_name will set  parent
     module

 Severity:  Informational.

SUBUNITSET

 Message:  containing module also set

 Severity:  Informational.

SUPERDEBUG

 Message:  SUPERDEBUG not available

 Severity:  Error.

SYMNOTACT

 Message:  symbol 'symbol_name' not active or not in active scope

 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.

UNAEXPMEM

 Message:  unable to expand memory by num_bytes bytes

 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  DEBUG  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  DEBUG  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.

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 indirect command file file_specification

 Severity:  Informational.

 Explanation:  The debugger is verifying  an  indirect  command  file.
     This message is displayed before the command file 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.

WITHCAN

 Message:  num_modules related modules also canceled

 Severity:  Informational.

WITHNOTCAN

 Message:  num_modules directly related modules not canceled

 Severity:  Informational.

WITHNOTSET

 Message:  num_modules directly related modules  not  set  SET  MODULE
     path_name will set all related modules

 Severity:  Informational.

WITHSET

 Message:  num_modules related modules also set

 Severity:  Informational.

WPTTRACE

 Message:  non-static watchpoint, tracing every instruction

 Severity:  Informational.

 Explanation:  Setting a watchpoint on a non-static 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.

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.6

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 DEBUG 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  DEBUG 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 for high-level languages)

     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 built-in 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 DEBUG, 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've 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 doesn't 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.  E.g., 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
     re-signalled,  and you end up back at the debug prompt (i.e., 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


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.6

V4.2

     This section notes any incompatible changes that have  been  made
     for version 4.2 of DEBUG 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  DEBUG  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 appendix D
     of the DEBUG manual.

Shareable Images

     Support for debugging shareable images is new in version  4.4  of
     DEBUG  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    DEBUG
     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  DEBUG  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 issue 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  DEBUG  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.   DEBUG  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


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.  For language MACRO,  an  instruction  display  (INST)
     takes  the  place  of the source display.  Optionally, a register
     display (REG) can also be displayed.

Additional information available:

CommandsBuilt-in DisplaysDisplay AttributesDisplay Kinds
ExamplesInstruction DisplayKeypadMoving DisplaysPROMPT Display
Resizing DisplaysScreen ModeScrollingSource DisplayWindows

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 get 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  are  use  to  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.

Built-in Displays

     The debugger defines five built-in 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 takes the
     place of SRC  when  the  language  is  set  to  MACRO.   INST  is
     initially  removed  for  high-level  languages 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 using "DISPLAY REG".

     (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.

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.   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  displays
         program output.

      o  PROMPT --- A display with the PROMPT attribute is  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      yes
     INSTRUCTION           yes
     OUTPUT                          yes      yes
     PROGRAM                                  yes
     PROMPT                                   yes
     SCROLL        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 ERROR attributes:

          DBG> SELECT/INSTRUCTION/ERROR

     After the command is executed, no display has the INSTRUCTION  or
     ERROR 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  built-in  displays
     are selected for attributes as follows:

     Attribute:      Built-in Display:
     ERROR
     INPUT
     INSTRUCTION          INST (for language MACRO only)
     OUTPUT               OUT
     PROGRAM              PROMPT
     PROMPT               PROMPT
     SCROLL               SRC
     SOURCE               SRC (for high level languages only)

Display Kinds

     There are five kinds of screen displays:  output displays, source
     displays,  register  displays,  instruction displays, and program
     displays (only the built-in 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 debug 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 user's source
     program.  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  debug   command   list.    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 debug command list.  A register
     display  shows  the  contents  of  the  VAX  registers,  and   is
     automatically  updated  as  the  user 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 built-in 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 built-in source display SRC in
     the  upper left half of the screen (LH1), INST in the upper right
     half of the screen (RH1), the built-in 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 for high-level
     languages).

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 built-in 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
     is  the  default  for  language MACRO, and 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.

PROMPT Display

     The PROMPT built-in 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 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.


     See the Display_Attributes subtopic 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.

Screen Mode

     The first time you enter screen mode with  the  SET  MODE  SCREEN
     command,  the  debugger creates three displays 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.  If your language is MACRO, an
     instruction display (INST) display is substituted for the  source
     display.  In addition, a register display REG is available but is
     not displayed by default.  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 built-in source display SRC has associated with it the
     command "EXAMINE/SOURCE .%SOURCE_SCOPE\%PC".  This is what causes
     it  to  be  automatically  centered  at your current source line.
     %SOURCE_SCOPE is a built-in scope which means the same as 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.

     What this means is that if your PC is located in  a  place  where
     source  lines  are  not  available (e.g., in an RTL routine), the
     debugger will attempt to display source in  the  caller  of  your
     current  routine  (i.e.,  scope 1 or 1 level down the stack).  If
     source lines are still not available  at  that  level,  it  tries
     scope  2, and so on.  When you are seeing source which is not the
     top-of-the-stack source,  an  informational  to  that  effect  is
     displayed.

     Pressing the keypad-key combination BLUE-MINUS  displays  SRC  in
     the top half of the screen, the built-in display OUT below SRC at
     S45, and the PROMPT display at the bottom of the  screen  at  S6.
     This   is   the   default  for  high-level  languages.   Pressing
     keypad-key KP7 places SRC in the upper left half  of  the  screen
     (LH1),  the  built-in 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, and S1 through S6 for sixths.  Each of
     these also has a "L" for left half (e.g., LQ1) and  and  "R"  for
     right half (e.g., 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