Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

The Main Window

Main Menu Bar

File Menu Entry

File Menu

File Menu Exit Button

File Menu Quit Button

Edit Menu Entry

Edit Menu

Edit Menu Undo Button

Edit Menu Copy Button

Edit Menu Paste Button

Edit Menu Clear Button

Ctrl Menu Entry

Ctrl Menu

Ctrl Menu Go Button

Ctrl Menu Step Button

Ctrl Menu Breakpoint Button

Ctrl Menu Watchpoint Button

Ctrl Menu Call Button

Ctrl Menu SyncVector Button

Data Menu Entry

Data Menu

Data Menu Variables Entry

Data Menu Variables Submenu

Vbls Menu Deposit Button

Vbls Menu Examine Button

Vbls Menu Show Button

Data Menu Code Entry

Data Menu Code Submenu

Code Menu Deposit Button

Code Menu Examine Button

Code Menu Show Button

Data Menu Express Button

Data Menu Addresses Entry

Data Menu Addresses Submenu

Addr Menu Deposit Button

Addr Menu Examine Button

Addr Menu Symbolize Button

Data Menu Callstack Button

Data Menu Modules Button

Data Menu Images Button

Data Menu Handlers Button

Data Menu Processes Button

Data Menu Tasks Button

Cust Menu Entry

Cust Menu

Cust Hide Show Command DB

Cust Menu Windows Button

Cust Menu WSetups Entry

Wind Menu WSetups Submenu

WSetups Menu Default Button

WSetups Menu Choice2 Button

WSetups Menu Choice3 Button

Cust Menu MPwind Entry

Wind Menu MPwind Submenu

MPwind Menu 2Src Button

MPwind Menu 2SrcInst Button

Cust Menu Radix Button

Cust Menu Language Entry

Cust Menu Language Submenu

Lang Menu Ada Button

Lang Menu Basic Button

Lang Menu Bliss Button

Lang Menu C Button

Lang Menu Cobol Button

Lang Menu Dibol Button

Lang Menu Fortran Button

Lang Menu Macro Button

Lang Menu Pascal Button

Lang Menu PLI Button

Lang Menu RPG Button

Lang Menu Scan Button

Lang Menu Unknown Button

Cust Menu Source Button

Cust Menu Logging Button

Cust Menu Datatype Button

Cust Menu Misc setting Button

Help Menu Entry

Help Menu

Help Menu Overview

Help Menu About

Help Menu Using

Main Region

Examine Status L Button

Scopes Status L Button

Process Status L Button

Button Region

Go Button

Step Button

Examine Button

Stop Button

The Command DB

SRC Display Window

SRC Display Menu Bar

SRC Disp Cmds Menu Entry

SRC Disp Cmds Menu

SRC Disp Cmds Menu View Src

INST Display Window

INST Display Menu Bar

INST Disp Cmds Menu Entry

INST Disp Cmds Menu

INST Disp Cmds Menu View Src

OUT Display Window

OUT Display Menu Bar

REG Display Window

REG Display Menu Bar

AUTO Display Window

AUTO Display Menu Bar

AUTO Disp Cmds Menu Entry

AUTO Disp Cmds Menu

AUTO Disp Cmds Menu Add Sele

AUTO Disp Cmds Menu Del Sele

Disp File Menu Entry

Disp File Menu

Disp File Menu Close Button

Disp File Menu Quit Button

Disp File Menu Exit Button

Disp Edit Menu Entry

Disp Edit Menu

Disp Edit Menu Copy Button

Disp Edit Menu Clear Button

The Popup Menu

Quit Caution Box

Message Box

Not Yet Implemented

g ok apply cancel buttons

Address Dialog Box

Break Dialog Box

Call Dialog Box

Callstk Dialog Box

Datatype Dialog Box

Dep Addr Dialog Box

Dep Code Dialog Box

Dep Vbl Dialog Box

Ex Addr Dialog Box

Ex Code Dialog Box

Ex Vbl Dialog Box

Express Dialog Box

Go Dialog Box

Images Dialog Box

Linenum Dialog Box

Logging Dialog Box

Modules Dialog Box

Other Dialog Box

Radix Dialog Box

Show Ad Dialog Box

Show Vbl Dialog Box

Src File Dialog Box

Step Dialog Box

Symbol Dialog Box

Watch Dialog Box

Wind Dialog Box

Task Dialog Box

Proc Dialog Box

g display source

g display instructions

g symb

g intro to addrexpr

g langexpr

g lang

g multilang

g cmd mode

g log file

g symb share

g multiproc

g vector

g specifying code

g selecting code

g selecting variables

g specifying variables

g display predwnds

g source notavailable

g radix

g DST GST RST

g Symb mod set

g resolve symb

g call

g callframe label

g callframe buttons display src

g callframe buttons display inst

g resolve symb using callframe

g display operands

g specify pc

g update curloc operations

g examine arr buttons

g examine inst buttons

g examine memory buttons

set visible process

g examine

g evaluate

g step into

g step over

g step return

g step instruction

g step line

g break

g view curloc

g go

g address expression field

g breaktrace

behavior break dialog

g set break

identify break

cancel break

set cancel

target

g address expression field

g list box

g notification option menu

g Condition field

g after passes field

g action field

g instructions field

g event field

within calls button

g jsb routines button

g shareable routines button

g system routines button

address

instruction

branch

call

return

every inst

line

exception

every vecinst

event

activation

termination

behavior call dialog

g routine field

g parameters field

g save vector state button

g asts enabled button

g vector state

calls by name

calls by frame

g depth scale

option

length

user

ASCIC

ASCID

ASCII

asciw

asciz

byte

d float

date time

float

g float

h float

instruction

longword

octaword

packed

quadword

user

word

g deposit addreg

g addreg field

g language expression field

target

length

user

ASCID

ASCII

ascic

asciw

asciz

byte

d float

date time

float

g float

h float

longword

octaword

packed

quadword

user

word

g deposit code

g addrexp field

g instruction field

g deposit var

g var field

g language expression field

target

length

user

ASCID

ASCII

ascic

asciw

asciz

byte

default

d float

date time

float

g float

h float

longword

octaword

packed

quadword

user

word

g examine addreg

g addreg field

target

length

user

mask

g radix option menu

g display button

ASCIC

ASCID

ASCII

asciw

asciz

byte

default

condition

d float

date time

float

g float

h float

longword

octaword

packed

psl

psw

quadword

user

word

g display source

g display instructions

g addr expression field

g source code button

g inst button

operand values menu

g examine var

g var field

target

length

user

mask

g radix option menu

ASCID

ASCII

ascic

asciw

asciz

byte

default

condition

d float

date time

float

g float

h float

longword

octaword

packed

psl

psw

quadword

user

word

g language expression field

g radix option menu

g go

g address expression field

set cancel

g image field

g image list box

set cancel

g module field

g module list box

g include related modules button

dyn mod set

asts enabled

symbolize

dyn proc

int proc

scal vec synch

double precision float

inst operands

disp code

input radix

g output radix

g address expression field

g show var

g variable field

g symbol button

g type button

g address computation button

g virtual memory address button

g scope field

g directory list field

g step

set one step

set default step

step set

step unit

notification

step units field

instructions field

within called routines button

jsb routines button

shareable routines button

system routines button

next line

next inst

next RET

next CALL

next branch

spec inst

next excep

next vecinst

behavior watch dialog

g set watch

identify watch

cancel watch

static nonstatic watch

global sec watch

shareable image watch

vec reg watch

set cancel

address expression field

watchpoint list box

notification

trigger in calls button

condition field

after passes field

action field

static

g wkinds attribs acts

g predwnds

g modify wnd

g create wnd

g proc windows

g window field

g display list box

g wkinds

g wind attrib

g window name

g action

g process field

g buffer size field

g position in pixels fields

g dimension in pixels fields

g src

g out

g auto

g inst

g reg

create wnd

g srcwk

g outwk

g autowk

g instwk

g regwk

src

out

auto

inst

reg

g srcwa

g outwa

g instwa

g inpwa

g msgwa

task option

g task field

g task list box

g priority scale

active task

set visible task

hold task

set task priority

show task

show statistics

abort task

proc opt

g process field

g process list box

visproc

hold proc

show

exit proc

DEBUG (DECwindows) DEBUG — VMS 5.4

=Title Debug Overview
 The DEBUG module contains the context-sensitive help
 topics associated with objects in debugger windows and
 dialog boxes.

Additional information available:

The Main WindowMain Menu BarFile Menu EntryFile Menu
File Menu Exit ButtonFile Menu Quit ButtonEdit Menu EntryEdit Menu
Edit Menu Undo ButtonEdit Menu Copy ButtonEdit Menu Paste ButtonEdit Menu Clear Button
Ctrl Menu EntryCtrl MenuCtrl Menu Go ButtonCtrl Menu Step Button
Ctrl Menu Breakpoint ButtonCtrl Menu Watchpoint ButtonCtrl Menu Call Button
Ctrl Menu SyncVector ButtonData Menu EntryData MenuData Menu Variables Entry
Data Menu Variables SubmenuVbls Menu Deposit ButtonVbls Menu Examine Button
Vbls Menu Show ButtonData Menu Code EntryData Menu Code SubmenuCode Menu Deposit Button
Code Menu Examine ButtonCode Menu Show ButtonData Menu Express Button
Data Menu Addresses EntryData Menu Addresses SubmenuAddr Menu Deposit Button
Addr Menu Examine ButtonAddr Menu Symbolize ButtonData Menu Callstack Button
Data Menu Modules ButtonData Menu Images ButtonData Menu Handlers Button
Data Menu Processes ButtonData Menu Tasks ButtonCust Menu Entry
Cust MenuCust Hide Show Command DBCust Menu Windows Button
Cust Menu WSetups EntryWind Menu WSetups SubmenuWSetups Menu Default Button
WSetups Menu Choice2 ButtonWSetups Menu Choice3 ButtonCust Menu MPwind Entry
Wind Menu MPwind SubmenuMPwind Menu 2Src ButtonMPwind Menu 2SrcInst Button
Cust Menu Radix ButtonCust Menu Language EntryCust Menu Language Submenu
Lang Menu Ada ButtonLang Menu Basic ButtonLang Menu Bliss ButtonLang Menu C Button
Lang Menu Cobol ButtonLang Menu Dibol ButtonLang Menu Fortran Button
Lang Menu Macro ButtonLang Menu Pascal ButtonLang Menu PLI ButtonLang Menu RPG Button
Lang Menu Scan ButtonLang Menu Unknown ButtonCust Menu Source Button
Cust Menu Logging ButtonCust Menu Datatype ButtonCust Menu Misc setting Button
Help Menu EntryHelp MenuHelp Menu OverviewHelp Menu About
Help Menu UsingMain RegionExamine Status L ButtonScopes Status L Button
Process Status L ButtonButton RegionGo ButtonStep ButtonExamine Button
Stop ButtonThe Command DBSRC Display WindowSRC Display Menu Bar
SRC Disp Cmds Menu EntrySRC Disp Cmds MenuSRC Disp Cmds Menu View Src
INST Display WindowINST Display Menu BarINST Disp Cmds Menu Entry
INST Disp Cmds MenuINST Disp Cmds Menu View SrcOUT Display Window
OUT Display Menu BarREG Display WindowREG Display Menu BarAUTO Display Window
AUTO Display Menu BarAUTO Disp Cmds Menu EntryAUTO Disp Cmds Menu
AUTO Disp Cmds Menu Add SeleAUTO Disp Cmds Menu Del SeleDisp File Menu Entry
Disp File MenuDisp File Menu Close ButtonDisp File Menu Quit Button
Disp File Menu Exit ButtonDisp Edit Menu EntryDisp Edit Menu
Disp Edit Menu Copy ButtonDisp Edit Menu Clear ButtonThe Popup Menu
Quit Caution BoxMessage BoxNot Yet Implementedg ok apply cancel buttons
Address Dialog BoxBreak Dialog BoxCall Dialog BoxCallstk Dialog Box
Datatype Dialog BoxDep Addr Dialog BoxDep Code Dialog BoxDep Vbl Dialog Box
Ex Addr Dialog BoxEx Code Dialog BoxEx Vbl Dialog BoxExpress Dialog Box
Go Dialog BoxImages Dialog BoxLinenum Dialog BoxLogging Dialog Box
Modules Dialog BoxOther Dialog BoxRadix Dialog BoxShow Ad Dialog Box
Show Vbl Dialog BoxSrc File Dialog BoxStep Dialog BoxSymbol Dialog Box
Watch Dialog BoxWind Dialog BoxTask Dialog BoxProc Dialog Box
g display sourceg display instructionsg symbg intro to addrexpr
g langexprg langg multilangg cmd modeg log fileg symb shareg multiproc
g vectorg specifying codeg selecting codeg selecting variables
g specifying variablesg display predwndsg source notavailableg radix
g DST GST RSTg Symb mod setg resolve symbg call
g callframe labelg callframe buttons display srcg callframe buttons display inst
g resolve symb using callframeg display operandsg specify pc

The Main Window

=Title Debugger Main Window
=include debug Main_Menu_Bar
=include debug Examine_Status_L_Button
=include debug Scopes_Status_L_Button
=include debug Process_Status_L_Button
=include debug Button_Region
The debugger's main window includes:

  -  A menu bar.

  -  Three sets of fields and buttons that are labeled
     Current Entity, Call Frame, and Visible Process.

  -  Four buttons that are labeled Go, Step, Examine,
     and Stop.

Main Menu Bar

=Title Debugger Main Window Menu Bar
=include debug Edit_Menu_Entry
=include debug File_Menu_Entry
=include debug Ctrl_Menu_Entry
=include debug Data_Menu_Entry
=include debug Cust_Menu_Entry
=include debug Help_Menu_Entry
=include debug The_Popup_Menu
=include debug The_Main_Window
Use the pulldown menus in the main window as follows:

  -  Choose the File menu to end the debugging session
     (exit the debugger).

  -  Choose the Edit menu to copy text to the clipboard
     or to paste text from the clipboard to a debugger
     dialog box or the COMMAND box.

  -  Choose the Control menu to start, stop, and monitor
     the execution of your program under debugger
     control.  For example:  execute to the next line or
     to the next VAX assembly-language instruction; set
     breakpoints, tracepoints, and watchpoints; call a
     routine.

  -  Choose the Data menu to display or manipulate data
     that is associated with your program.  For example:
     examine variables and arbitrary program locations;
     assign new values to variables; evaluate language
     expressions; control access to variable names,
     routine names, and other symbols; manipulate
     multiprocess programs and Ada tasking programs.
     Note that the Tasks menu item is dimmed unless you
     are debugging a VAX Ada program.

  -  Choose the Customize menu to tailor your debugging
     environment and establish default conditions.  For
     example:  create and manipulate debugger windows;
     change the programming language context; establish
     defaults for manipulating data and for accessing
     symbols; open the COMMAND box to access the
     debugger's command interface.

  -  Choose the Help menu to obtain conceptual and
     task-oriented information about the debugger.  This
     is an alternative to obtaining context-sensitive
     help on individual items that are displayed on the
     screen (menus, buttons, dialog boxes, and so on).

File Menu Entry

=Title File Menu in Main Window
=include debug File_Menu_Quit_Button
=include debug File_Menu_Exit_Button
=include debug Data_Menu_Handlers_Button
Use the File menu as follows:

  -  Choose Exit to end the debugging session, also
     executing any exit handlers that are declared in
     the program.

  -  Choose Quit to end the debugging session.

     If an exit handler is declared in your program, a
     dialog box gives you the option of executing that
     handler when you choose Quit.

File Menu

=Title File Menu in Main Window
=include debug File_Menu_Quit_Button
=include debug File_Menu_Exit_Button
=include debug Data_Menu_Handlers_Button
Use the File menu as follows:

  -  Choose Exit to end the debugging session, also
     executing any exit handlers that are declared in
     the program.

  -  Choose Quit to end the debugging session.

     If an exit handler is declared in your program, a
     dialog box gives you the option of executing that
     handler when you choose Quit.

File Menu Exit Button

=Title Exit Item on File Menu in Main Window
=include debug Data_Menu_Handlers_Button
=Include DEBUG File_Menu_Quit_Button
Choose Exit to end the debugging session, also executing
 any exit handlers that are declared in the program.

File Menu Quit Button

=Title Quit Item on File Menu in Main Window
=include debug Data_Menu_Handlers_Button
=Include DEBUG File_Menu_Exit_Button
Choose Quit to end the debugging session.

 If an exit handler is declared in your program, a
 dialog box gives you the option of executing that
 handler.

Edit Menu Entry

=Title Edit Menu in Main Window
=include debug Edit_Menu_Copy_Button
=include debug Edit_Menu_Paste_Button
Use the Edit menu as follows:

  -  Choose Copy to copy text selected in a window to
     the clipboard.

  -  Choose Paste to paste text from the clipboard to
     either a field in a debugger dialog box or to the
     debugger COMMAND box.

Edit Menu

=Title Edit Menu in Main Window
=include debug Edit_Menu_Copy_Button
=include debug Edit_Menu_Paste_Button
Use the Edit menu as follows:

  -  Choose Copy to copy text selected in a window to
     the clipboard.

  -  Choose Paste to paste text from the clipboard to
     either a field in a debugger dialog box or to the
     debugger COMMAND box.

Edit Menu Undo Button

=Title Undo Copy Item on Edit Menu

Edit Menu Copy Button

=Title Copy Item on Edit Menu
Choose Copy to copy text selected in a window to the
 clipboard.

Edit Menu Paste Button

=Title Paste Item on Edit Menu
=include debug Cust_Hide_Show_Command_DB
Choose Paste to paste text from the clipboard to either
 a field in a debugger dialog box or to the debugger
 COMMAND box.

Edit Menu Clear Button

=Title Clear Item on Edit Menu

Ctrl Menu Entry

=Title Control Menu in Main Window
=include debug Ctrl_Menu_Go_Button
=include debug Ctrl_Menu_Step_Button
=include debug Ctrl_Menu_Breakpoint_Button
=include debug Ctrl_Menu_Watchpoint_Button
=include debug Ctrl_Menu_Call_Button
=include debug Ctrl_Menu_SyncVector_Button
Use the Control menu to start, stop, and monitor the
 execution of your program under debugger control.
 Whenever execution stops, the source window is updated,
 and the boxed line identifies the source line at which
 execution is suspended.

 Choose Go...  to start execution from a specified
 location in your program.

 Choose Step...  to execute one or more source lines or
 VAX assembly-language instructions.

 Choose Break...  to set, cancel, or modify, breakpoints
 and tracepoints.

 Choose Watch...  to set, cancel, or modify watchpoints.

 Choose Call...  to execute a routine independently of
 the normal execution of the program.

 Choose Synchronize Vector Processor to force immediate
 synchronization between the scalar and vector
 processors when debugging a vectorized program.

Ctrl Menu

=Title Control Menu in Main Window
=include debug Ctrl_Menu_Go_Button
=include debug Ctrl_Menu_Step_Button
=include debug Ctrl_Menu_Breakpoint_Button
=include debug Ctrl_Menu_Watchpoint_Button
=include debug Ctrl_Menu_Call_Button
=include debug Ctrl_Menu_SyncVector_Button
Use the Control menu to start, stop, and monitor the
 execution of your program under debugger control.
 Whenever execution stops, the source window is updated,
 and the boxed line identifies the source line at which
 execution is suspended.

 Choose Go...  to start execution from a specified
 location in your program.

 Choose Step...  to execute one or more source lines or
 VAX assembly-language instructions.

 Choose Break...  to set, cancel, or modify, breakpoints
 and tracepoints.

 Choose Watch...  to set, cancel, or modify watchpoints.

 Choose Call...  to execute a routine independently of
 the normal execution of the program.

 Choose Synchronize Vector Processor to force immediate
 synchronization between the scalar and vector
 processors when debugging a vectorized program.

Ctrl Menu Go Button

=Title Go...  Item on Control Menu
=Include debug Go_Dialog_Box
=include debug Go_Dialog_Box g_go
=include debug go_button
=include debug The_Popup_Menu g_go
Choose Go...  to start program execution from a
 specified location.

 To start execution from the current location, click on
 the Go button in the main window.

Ctrl Menu Step Button

=Title Step...  Item on Control Menu
=Include debug Step_Dialog_Box
=include debug Step_Dialog_Box g_step
=include debug step_button
=include debug The_Popup_Menu
Choose Step...  to execute one or more lines of source
 code or VAX assembly-language instructions, or to
 execute the program to the next instruction of a
 particular kind, for example, a CALL instruction.

 To execute one step unit at a time, click on the Step
 button in the main window.

 By default, a step unit is one executable line of
 source source code.  To change the step unit, choose
 Step...  from the Control menu.

Ctrl Menu Breakpoint Button

=Title Break...  Item on Control Menu
=Include debug Break_Dialog_Box
=include debug Break_Dialog_Box g_breaktrace
=include debug The_Popup_Menu g_break
Choose Break...  to set, cancel, or modify breakpoints
 and tracepoints.

Ctrl Menu Watchpoint Button

=Title Watch...  Item on Control Menu
=Include debug Watch_Dialog_Box
Choose Watch...  to set, cancel, or modify watchpoints.

Ctrl Menu Call Button

=Title Call...Item on Control Menu
=include debug Call_Dialog_Box
=include debug g_call
Choose Call...  to execute a routine independently of
 the normal execution of the program.

Ctrl Menu SyncVector Button

=title 'Synchronize Vector Processor' Item on Control Menu
=include DEBUG Other_Dialog_Box scal_vec_synch
=include DEBUG g_vector
Note:  This feature applies to vectorized programs.

 Choose Synchronize Vector Processor to force immediate
 synchronization between the scalar and vector
 processors when debugging a vectorized program.

 You can also have the debugger force scalar-vector
 synchronization automatically whenever a vector
 instruction is executed.  Proceed as follows:

 1.  Choose Other Attributes...  from the Customize
     menu.

 2.  Turn on the Scalar-Vector Synchronization button.

 By default, the debugger does not force automatic
 synchronization between the scalar and vector
 processors.

Data Menu Entry

=Title Data Menu in Main Window
=include debug Data_Menu_Variables_Entry
=include debug Data_Menu_Code_Entry
=include debug Data_Menu_Express_Button
=include debug Data_Menu_Addresses_Entry
=include debug Data_Menu_Callstack_Button
=include debug Data_Menu_Modules_Button
=include debug Data_Menu_Images_Button
=include debug Data_Menu_Handlers_Button
=include debug Data_Menu_Processes_Button
=include debug Data_Menu_Tasks_Button
=include debug The_Popup_Menu
Use the Data menu to display or manipulate data
 associated with your program.

Data Menu

=Title Data Menu in Main Window
=include debug Data_Menu_Variables_Entry
=include debug Data_Menu_Code_Entry
=include debug Data_Menu_Express_Button
=include debug Data_Menu_Addresses_Entry
=include debug Data_Menu_Callstack_Button
=include debug Data_Menu_Modules_Button
=include debug Data_Menu_Images_Button
=include debug Data_Menu_Handlers_Button
=include debug Data_Menu_Processes_Button
=include debug Data_Menu_Tasks_Button
=include debug The_Popup_Menu
Use the Data menu to display or manipulate data
 associated with your program.

Data Menu Variables Entry

=Title Variables Item on Data Menu
=include debug Vbls_Menu_Examine_Button
=include debug Vbls_Menu_Deposit_Button
=include debug Vbls_Menu_Show_Button
=include debug The_Popup_Menu g_examine
Choose Variables to do the following tasks:

  -  Display the current value of a variable

  -  Assign a value to a variable

  -  Display information about a variable, such as its
     type, address, or path name

Data Menu Variables Submenu

=Title Variables Submenu of Data Menu
=include debug Vbls_Menu_Examine_Button
=include debug Vbls_Menu_Deposit_Button
=include debug Vbls_Menu_Show_Button
=include debug The_Popup_Menu g_examine
Use the Variables submenu as follows:

  -  Choose Examine Variable...  to display the current
     value of a variable.

  -  Choose Deposit into Variable...  to assign a value
     to a variable.

  -  Choose Show Variable...  to display information
     about a variable, such as its type, address, and
     path name.

Vbls Menu Deposit Button

=Title Deposit into Variable...  Item on Variables Submenu
=include debug Dep_Vbl_Dialog_Box
=include debug Dep_Vbl_Dialog_Box g_deposit_var
Choose Deposit into Variable...  to assign a value to a
 variable.

Vbls Menu Examine Button

=Title Examine Variable...  Item on Variables Submenu
=include debug Ex_Vbl_Dialog_Box
=include debug Ex_Vbl_Dialog_Box g_examine_var
=include debug Examine_Button
=include debug The_Popup_Menu g_examine
Choose Examine Variable...  to display the current value
 of a variable.

Vbls Menu Show Button

=Title Show Variable...  Item on Variables Submenu
=include debug Show_Vbl_Dialog_Box
=include debug Show_Vbl_Dialog_Box g_show_var
Choose Show Variable...  to display information about a
 variable, such as its type, address, and path name.

Data Menu Code Entry

=Title Code Item on Data Menu
=include debug Code_Menu_Examine_Button
=include debug Code_Menu_Deposit_Button
=include debug Code_Menu_Show_Button
=include debug The_Popup_Menu g_examine
Choose Code to do the following tasks:

  -  Display the line of source code or the decoded VAX
     instructions for an address expression

  -  Deposit a VAX instruction at the location denoted
     by an address expression

  -  Display the memory address or register for an
     address expression

Data Menu Code Submenu

=Title Code Submenu of Data Menu
=include debug Code_Menu_Examine_Button
=include debug Code_Menu_Deposit_Button
=include debug Code_Menu_Show_Button
=include debug The_Popup_Menu g_examine
Use the Code submenu as follows:

  -  Choose Examine Code...  to display the line of
     source code or the decoded VAX instructions for an
     address expression.

  -  Choose Deposit Code...  to deposit a VAX
     instruction at the location denoted by an address
     expression.

  -  Choose Show Address...  to display the memory
     address or register for an address expression.

Code Menu Deposit Button

=Title Deposit Code...  Item on Code Submenu
=include debug Dep_Code_Dialog_Box
=include debug Dep_Code_Dialog_Box g_deposit_code
Choose Deposit Code...  to deposit a VAX instruction at
 the location denoted by an address expression.

Code Menu Examine Button

=Title Examine Code...  Item on Code Submenu
=include debug Ex_Code_Dialog_Box
=include debug inst_Disp_Cmds_Menu_View_Src
=include debug Ex_Code_Dialog_Box g_display_instructions
=include debug g_vector
=include debug Examine_Button
=include debug The_Popup_Menu g_examine
Choose Examine Code...  to display the line of source
 code or the decoded VAX instructions for an address
 expression.

Code Menu Show Button

=Title Show Address...  Item on Code Submenu
=include debug Show_Ad_Dialog_Box
Choose Show Address...  to display the memory address or
 register for an address expression.

Data Menu Express Button

=Title Language Expressions...  Item on Data Menu
=include debug Express_Dialog_Box
=include debug The_Popup_Menu g_evaluate
=include debug g_langexpr
Choose Language Expressions...  to evaluate a language
 expression.

Data Menu Addresses Entry

=Title Addresses or Registers Item on Data Menu
=include debug Addr_Menu_Examine_Button
=include debug Addr_Menu_Deposit_Button
=include debug Addr_Menu_Symbolize_Button
=include debug The_Popup_Menu g_examine
Choose Addresses or Registers to do the following tasks:

  -  Display the current value stored at a memory
     address or in a register

  -  Deposit a value of a specified type at a memory
     address or into a register

  -  Display the symbolic name (if any) that is
     associated with a memory address or a register

Data Menu Addresses Submenu

=Title Addresses or Registers Submenu of Data Menu
=include debug Addr_Menu_Examine_Button
=include debug Addr_Menu_Deposit_Button
=include debug Addr_Menu_Symbolize_Button
=include debug The_Popup_Menu g_examine
Use the Addresses or Registers submenu as follows:

  -  Choose Examine Address or Register...  to display
     the current value stored at a memory address or in
     a register.

  -  Choose Deposit into Address or Register...  to
     deposit a value of a specified type at a memory
     address or in register.

  -  Choose Symbolize Address or Register...  to display
     the symbolic name (if any) that is associated with
     a memory address or a register.

Addr Menu Deposit Button

=Title Deposit into Address or Register...  Item on Data Menu
=include debug Dep_Addr_Dialog_Box
=include debug Dep_Addr_Dialog_Box g_deposit_addreg
Choose Deposit into Address or Register...  to deposit a
 value of a specified type at a memory address or into
 register.

Addr Menu Examine Button

=Title Examine Address or Register...  Item on Data Menu
=include debug Ex_Addr_Dialog_Box
=include debug Ex_Addr_Dialog_Box g_examine_addreg
=include debug Examine_Button
=include debug The_Popup_Menu g_examine
Choose Examine Address or Register...  to display the
 current value stored at a memory address or in a
 register.

Addr Menu Symbolize Button

=Title Symbolize Address or Register...  Item on Data Menu
=include debug Symbol_Dialog_Box
=include debug g_Symb
Choose Symbolize Address or Register...  to display the
 symbolic name (if any) that is associated with a memory
 address or a register.

Data Menu Callstack Button

=Title Call Stack...  Item on Data Menu
=include debug Callstk_Dialog_Box
=Include DEBUG Ctrl_Menu
=include debug Scopes_Status_L_Button
Choose Call Stack...  to identify where execution is
 currently suspended.  This menu item displays the
 sequence of routine calls that are currently on the
 call stack and provides related information.

Data Menu Modules Button

=Title Modules...  Item on Data Menu
=include debug Modules_Dialog_Box
=include debug g_DST_GST_RST
=include debug g_symb_mod_set
=include debug g_Symb
=include debug data_menu_images_button
Choose Modules...  to load and unload symbol information
 (the names of variables, routines, and so on) for one
 or more modules of the program into the debugger's
 run-time symbol table (RST).  This is referred to as
 setting and canceling modules, respectively.

 Module setting enables the debugger to recognize the
 symbols that are declared in the program, so that you
 can specify them in dialog boxes and commands.

 Note that, by default, the debugger sets modules
 automatically during a debugging session, so that you
 usually do not have to set modules explicitly.

 In addition, if the debugger does not recognize or
 correctly interpret a symbol that you specify, an unset
 module is but one of several possible reasons.

Data Menu Images Button

=Title Images...  Item on Data Menu
=include debug Images_Dialog_Box
=include debug g_Symb_share
=include debug g_DST_GST_RST
=include debug g_symb_mod_set
=include debug g_Symb
=include debug data_menu_modules_button
The Images...  item enables you to debug a shareable
 image that is linked with the program.  Choose
 Images...  to load and unload symbol information for
 one or more images and to establish the current image.

 Loading and unloading is referred to as setting and
 canceling images, respectively.  Except for universal
 symbols, the symbols of only one image (the current
 image) are accessible at any one time.

 Note that, by default, the debugger sets images and
 modules automatically during a debugging session, so
 that you usually do not have to set images or modules
 explicitly.

 In addition, if the debugger does not recognize or
 correctly interpret a symbol that you specify, an unset
 image or an unset module is but one of several possible
 reasons.

Data Menu Handlers Button

=Title Exit Handlers Item on Data Menu
=include debug File_Menu_Exit_Button
Choose Exit Handlers to identify any exit handlers that
 are declared in the program.

Data Menu Processes Button

=Title Processes...  Item on Data Menu
=include debug Proc_Dialog_Box
=include debug g_multiproc
The Processes...  item enables you to debug a
 multiprocess program.  Choose Processes...  to display
 information about the images running in individual
 processes and to control the multiprocess environment.

Data Menu Tasks Button

=Title Tasks...  Item on Data Menu
=include debug Task_Dialog_Box
=include debug g_lang
The Tasks...  item enables you to debug a VAX Ada
 tasking program (this item is dimmed unless you are
 debugging a VAX Ada program).  Choose Tasks...  to
 display information about individual tasks and to
 control the tasking environment.

Cust Menu Entry

=Title Customize Menu in Main Window
=include debug Cust_Hide_Show_Command_DB
=include debug Cust_Menu_Windows_Button
=include debug Cust_Menu_WSetups_Entry
=include debug Cust_Menu_MPwind_Entry
=include debug Cust_Menu_Radix_Button
=include debug Cust_Menu_Language_Entry
=include debug Cust_Menu_Source_Button
=include debug Cust_Menu_Logging_Button
=include debug Cust_Menu_Datatype_Button
=include debug Cust_Menu_Misc_setting_Button
=include debug Wind_Dialog_Box g_predwnds
Use the Customize menu to tailor your debugging
 environment and establish default conditions.

Cust Menu

=Title Customize Menu in Main Window
=include debug Cust_Hide_Show_Command_DB
=include debug Cust_Menu_Windows_Button
=include debug Cust_Menu_WSetups_Entry
=include debug Cust_Menu_MPwind_Entry
=include debug Cust_Menu_Radix_Button
=include debug Cust_Menu_Language_Entry
=include debug Cust_Menu_Source_Button
=include debug Cust_Menu_Logging_Button
=include debug Cust_Menu_Datatype_Button
=include debug Cust_Menu_Misc_setting_Button
=include debug Wind_Dialog_Box g_predwnds
Use the Customize menu to tailor your debugging
 environment and establish default conditions.

Cust Hide Show Command DB

=Title Show Command...  Item on Customize Menu
=include debug The_Command_DB
=include debug g_cmd_mode
When the debugger command window is closed, the first
 menu item on the Customize menu is Show Command...
 This is the default.

 Choose Show Command...  to open the debugger COMMAND
 box.  The COMMAND box enables you to interact with the
 debugger's command interface by entering commands at
 the prompt, DBG>.  The COMMAND box also displays the
 debugger command associated with the last operation
 performed through the DECwindows interface.

 When the COMMAND box is open, the first menu item is
 Hide Command.  Choose Hide Command to close the COMMAND
 box.

 To open the COMMAND box for just one command, press the
 DO key.

Cust Menu Windows Button

=Title Windows...  Item on Customize Menu
=include debug Wind_Dialog_Box
=include debug Wind_Dialog_Box g_predwnds
=include debug g_display_source
=include debug g_display_instructions
Choose Windows...  to modify or create the following
 kinds of debugger windows:

   Source windows, such as the predefined window SRC

   Output windows, such as the predefined window OUT

   Automatic windows, such as the predefined window AUTO

   Instruction windows, such as the predefined window INST

   Register windows, such as the predefined window REG

Cust Menu WSetups Entry

=Title Window Setups Item on Customize Menu
=include debug Wind_Dialog_Box g_predwnds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug Cust_Menu_Windows_Button
Choose Window Setups to display the debugger windows
 according to one of the three predefined layouts shown
 on the submenu.

 Clicking on the first layout establishes the default
 window configuration at debugger startup.

 Clicking on the second layout places the predefined
 source (SRC) and instruction (INST) windows side by
 side.  This layout is useful when you are debugging
 code that has been optimized during compilation.

 Clicking on the third layout places the predefined
 instruction (INST) and register (REG) windows side by
 side.

 The second and third options assign the instruction
 attribute to INST, so that you can use it to display
 instructions for any part of your program.

 You can modify these windows by choosing Windows...
 from the Customize menu.

Wind Menu WSetups Submenu

=Title Window Setups Submenu of Customize Menu
=include debug Wind_Dialog_Box g_predwnds
=include debug Cust_Menu_Windows_Button
Choose a predefined debugger window layout by clicking
 on one of the three layouts shown on the submenu.

 Clicking on the first layout establishes the default
 window configuration at debugger startup.

 Clicking on the second layout places the predefined
 source (SRC) and instruction (INST) windows side by
 side.  This layout is useful when you are debugging
 code that has been optimized during compilation.

 Clicking on the third layout places the predefined
 instruction (INST) and register (REG) windows side by
 side.

 The second and third options assign the instruction
 attribute to INST, so that you can use it to display
 instructions for any part of your program.

 You can modify these windows by choosing Windows...
 from the Customize menu.

WSetups Menu Default Button

=Title First Layout on Window Setups Submenu
=include debug WSetups_Menu_Choice2_Button
=include debug WSetups_Menu_Choice3_Button
=include debug Wind_Dialog_Box g_predwnds
=include debug g_display_source
=include debug Cust_Menu_Windows_Button
Choose the first layout to display the debugger main
 window and the predefined source (SRC) and output (OUT)
 debugger windows as shown on the submenu.

 This is the default window layout at debugger startup.

 You can modify these windows by choosing Windows...
 from the Customize menu.

WSetups Menu Choice2 Button

=Title Second Layout on Window Setups Submenu
=include debug WSetups_Menu_Default_Button
=include debug WSetups_Menu_Choice3_Button
=include debug Wind_Dialog_Box g_predwnds
=include debug g_display_instructions
=include debug Cust_Menu_Windows_Button
Choose the second layout to display the debugger main
 window and the predefined source (SRC), instruction
 (INST), and output (OUT) debugger windows as shown on
 the submenu.

 Placing windows SRC and INST side by side is useful
 when you are debugging code that has been optimized
 during compilation.

 This option assigns the instruction attribute to INST,
 so that you can use it to display instructions for any
 part of your program.

 You can modify these windows by choosing Windows...
 from the Customize menu.

WSetups Menu Choice3 Button

=Title Third Layout on Window Setups Submenu
=include debug WSetups_Menu_Default_Button
=include debug WSetups_Menu_Choice2_Button
=include debug Wind_Dialog_Box g_predwnds
=include debug g_display_instructions
=include debug Cust_Menu_Windows_Button
Choose the third layout to display the debugger main
 window and the predefined instruction (INST), register
 (REG), and output (OUT) debugger windows as shown on
 the submenu.

 This option assigns the instruction attribute to INST,
 so that you can use it to display instructions for any
 part of your program.

 You can modify these windows by choosing Windows...
 from the Customize menu.

Cust Menu MPwind Entry

=Title Multiprocess Window Setups Item on Customize Menu
=include debug Wind_Dialog_Box g_proc_windows
=include debug Cust_Menu_Windows_Button
Choose Multiprocess Window Setups to display the
 debugger windows according to one of two predefined
 process-specific layouts shown on the submenu.

 Clicking on the first layout places two predefined
 process-specific source windows (SRC_n) side by side,
 where n is the process number.

 Clicking on the second layout places two sets of
 predefined process-specific source and instruction
 windows (SRC_n and INST_n, respectively) side by side.

 You can modify these windows by choosing Windows...
 from the Customize menu.

Wind Menu MPwind Submenu

=Title Multiprocess Window Setups Submenu of Customize Menu
=include debug Wind_Dialog_Box g_proc_windows
=include debug Cust_Menu_Windows_Button
Choose a predefined debugger window layout by clicking
 on one of the two layouts shown on the submenu.

 Clicking on the first layout places two predefined
 process-specific source windows (SRC_n) side by side,
 where n is the process number.

 Clicking on the second layout places two sets of
 predefined process-specific source and instruction
 windows (SRC_n and INST_n, respectively) side by side.

 You can modify these windows by choosing Windows...
 from the Customize menu.

MPwind Menu 2Src Button

=Title First Layout on Multiprocess Window Setups Submenu
=include debug MPwind_Menu_2SrcInst_Button
=include debug Wind_Dialog_Box g_proc_windows
=include debug Cust_Menu_Windows_Button
Choose the first layout to display the debugger main
 window, the predefined output window (OUT), and two
 predefined process-specific source windows (SRC_n) as
 shown on the submenu.  N is the process number.

 You can modify these windows by choosing Windows...
 from the Customize menu.

MPwind Menu 2SrcInst Button

=Title Second Layout on Multiprocess Window Setups Submenu
=include debug MPwind_Menu_2Src_Button
=include debug Wind_Dialog_Box g_proc_windows
=include debug Cust_Menu_Windows_Button
Choose the second layout to display the debugger main
 window, the predefined output window (OUT), and two
 predefined process-specific source and instruction
 windows (SRC_n and INST_n, respectively) as shown on
 the submenu.  N is the process number.

 You can modify these windows by choosing Windows...
 from the Customize menu.

Cust Menu Radix Button

=Title Radix...  Item on Customize Menu
=include debug Radix_Dialog_Box
=include debug g_radix
Choose Radix...  to set the radix for the entry and
 display of integer data.

Cust Menu Language Entry

=Title Language Item on Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose Language to set the language context for the
 interpretation and display of symbols, expressions, and
 any other language-specific parameters.

Cust Menu Language Submenu

=Title Language Submenu of Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose a language to set the language context for the
 interpretation and display of symbols, expressions, and
 any other language-specific parameters.

Lang Menu Ada Button

=Title Ada Item on Language Submenu of Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose ADA to set the current language to Ada.

Lang Menu Basic Button

=Title BASIC Item on Language Submenu of Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose BASIC to set the current language to BASIC.

Lang Menu Bliss Button

=Title BLISS Item on Language Submenu of Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose BLISS to set the current language to BLISS.

Lang Menu C Button

=Title C Item on Language Submenu of Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose C to set the current language to C.

Lang Menu Cobol Button

=Title COBOL Item on Language Submenu of Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose COBOL to set the current language to COBOL.

Lang Menu Dibol Button

=Title DIBOL Item on Language Submenu of Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose DIBOL to set the current language to DIBOL.

Lang Menu Fortran Button

=Title FORTRAN Item on Language Submenu of Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose FORTRAN to set the current language to FORTRAN.

Lang Menu Macro Button

=Title MACRO Item on Language Submenu of Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose MACRO to set the current language to MACRO.

Lang Menu Pascal Button

=Title Pascal Item on Language Submenu of Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose Pascal to set the current language to Pascal.

Lang Menu PLI Button

=Title PL/I Item on Language Submenu of Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose PL/I to set the current language to PL/I.

Lang Menu RPG Button

=Title RPG Item on Language Submenu of Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose RPG to set the current language to RPG.

Lang Menu Scan Button

=Title SCAN Item on Language Submenu of Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose SCAN to set the current language to SCAN.

Lang Menu Unknown Button

=Title Unknown Item on Language Submenu of Customize Menu
=include debug g_multilang
=include debug g_lang
=include debug g_langexpr
Choose Unknown to set the current language to Unknown.

 When debugging a program that is written in an
 unsupported language, set the language to Unknown.

 To maximize the usability of the debugger with
 unsupported languages, the Unknown setting causes the
 debugger to accept a large set of data formats and
 operators, including some that might be specific to
 only a few supported languages.

Cust Menu Source Button

=Title Source Files...  Item on Customize Menu
=include debug Src_File_Dialog_Box
=include debug g_source_notavailable
Choose Source Files...  to specify where the debugger
 searches for source files that have been moved to
 another directory after being compiled.

Cust Menu Logging Button

=Title Logging...  Item on Customize Menu
=include debug Logging_Dialog_Box
=include debug g_log_file
Choose Logging...  to enable or disable the recording of
 debugger commands and debugger output into a file.  The
 file contains an exact record of a debugging session.

 You can execute a debugger log file as a command
 procedure to reconstruct a debugging session
 automatically.  To do so, enter the command @file-spec
 at the DBG> prompt in the command window

Cust Menu Datatype Button

=Title Datatype Defaults...  Item on Customize Menu
=include debug Datatype_Dialog_Box
Choose Datatype Defaults...  to establish the default
 type for data entry and display to be associated with
 program locations.

Cust Menu Misc setting Button

=Title Other Attributes...  Item on Customize Menu
=include debug Other_Dialog_Box
Choose Other Attributes...  to establish defaults for
 miscellaneous operations that are not covered through
 other menu items:

  -  Enabling or disabling dynamic module and image
     setting

  -  Enabling or disabling the delivery of asynchronous
     system traps (ASTs) while your program is running

  -  Enabling or disabling the symbolization of address
     expressions

  -  Enabling or disabling dynamic process setting for
     multiprocess programs

  -  Enabling or disabling simultaneous interruption of
     executing processes for multiprocess programs

  -  Enabling or disabling automatic synchronization
     between the scalar and vector processors for
     vectorized programs

  -  Establishing the interpretation of double-precision
     floating-point constants as D_float or G_float in
     expressions

  -  Controlling the level of operand information when
     examining VAX instructions

  -  Controling the display of program locations in
     terms of line numbers or as routine-name +
     byte-offset.

Help Menu Entry

=Title Help Menu in Main Window
Use the Help menu as follows:

  -  Choose Overview to obtain conceptual and
     task-oriented information about the debugger.

     The information that is available through the
     Overview menu item supplements the information that
     is available through context-sensitive help on
     individual items in debugger windows, menus, and
     dialog boxes.

  -  Choose About to obtain

      +  The version number for this version of the
         debugger

      +  Copyright and trademark information

      +  Information that is specific to this version of
         the debugger, such as new features


  -  Choose Using Debugger Help to obtain information
     about the debugger's online help system.

Help Menu

=Title Help Menu in Main Window
Use the Help menu as follows:

  -  Choose Overview to obtain conceptual and
     task-oriented information about the debugger.

     The information that is available through the
     Overview menu item supplements the information that
     is available through context-sensitive help on
     individual items in debugger windows, menus, and
     dialog boxes.

  -  Choose About to obtain

      +  The version number for this version of the
         debugger

      +  Copyright and trademark information

      +  Information that is specific to this version of
         the debugger, such as new features


  -  Choose Using Debugger Help to obtain information
     about the debugger's online help system.

Help Menu Overview

=Title 'Overview' Item on Help Menu
=include debug Help_Menu_About
=include debug Help_Menu_Using
=include debug Help_Menu_Entry
 Choose Overview to obtain conceptual and task-oriented
 information about the debugger.

 The information that is available through the Overview
 menu item supplements the information that is available
 through context-sensitive help on individual items in
 debugger windows, menus, and dialog boxes.

Help Menu About

=Title 'About' Item on Help Menu
=include debug Help_Menu_Overview
=include debug Help_Menu_Using
=include debug Help_Menu_Entry
 Choose About to obtain

  +  The version number for this version of the debugger

  +  Copyright and trademark information

  +  Information that is specific to this version of the
     debugger, such as new features

Help Menu Using

=Title 'Using Debugger Help' Item on Help Menu
=include debug Help_Menu_Overview
=include debug Help_Menu_About
=include debug Help_Menu_Entry
 Choose this menu item to obtain information about the
 debugger's online help system.

Main Region

=Title Status Fields and Buttons in Debugger Main Window
=include debug Examine_Status_L_Button
=include debug Scopes_Status_L_Button
=include debug Process_Status_L_Button
Use the Current Entity, Call Frame, and Visible Process
 fields and buttons in the main window as indicated in
 the additional topics.

Examine Status L Button

=title Current Entity Field and Buttons in Main Window
The Current Entity field in the main window identifies
 the last entity that was examined or deposited into
 (for example, a variable or a code location).  It is
 also the entity currently defined by the built-in
 symbol %CURLOC.

 If symbolization is available, the entity might be
 displayed as a symbol with a path name prefix or
 perhaps as a byte offset from a symbolic address
 expression (for example, TEST\X+4).  Symbolic address
 expressions include variable names, routine names,
 labels, and line numbers.

 No entity is displayed unless you have previously
 specified one in an examine or deposit operation.  See
 Operations that Can Update the Current Entity Field.

 When a current entity is defined, you can use the
 Current Entity arrow buttons to examine consecutive
 logical entities.  Otherwise, the buttons are dimmed.

 The debugger uses the type of the current entity to
 determine the logical successor and predecessor
 entities.  The current entity is reset with each click
 of one of the arrow buttons.

 Thus, when the current entity is an array variable, you
 can use the arrow buttons to examine consecutive array
 elements.  When the current entity is a code location,
 you can use the arrow buttons to examine consecutive
 VAX assembly-language instructions.

 By default, the debugger assigns the type longword
 integer to addresses or registers that are not
 associated with a symbolic name and, therefore, are not
 associated with a compiler-generated type.  See
 Examining Consecutive Memory Addresses.

 The topic Current, Next, and Previous Entity Built-In
 Symbols identifies built-in symbols that, when used
 with the Examine command (and related dialog boxes),
 achieve the same effect as the Current Entity arrow
 buttons.

 Note that the concept of previous or next logical
 entity might not apply to some entities, such as
 noncomposite variables (integer, real, and so on).

Additional information available:

g update curloc operationsg examine arr buttonsg examine inst buttonsg examine memory buttons

g update curloc operations

=title Operations that Can Update the Current Entity Field
=include debug g_intro_to_addrexpr
=include debug g_specifying_code
=include debug Examine_Status_L_Button
 The Current Entity field in the main window identifies
 the last entity that was examined or deposited into
 (for example, a variable or a code location).

 The following operations can update the Current Entity
 Field:

  -  Clicking on the Examine button in the main window
     or choosing Examine from the pop-up menu.

  -  Using the following dialog boxes (which are
     accessible from the Data menu):

       Examine Variable, Deposit into Variable
       Examine Code, Deposit Code
       Examine (Deposit into) Address or Register

  -  Clicking on the Current Entity arrow buttons.

  -  Specifying any of the built-in symbols that denote
     an address expression when examining or depositing.
     See Current, Next, and Previous Entity Built-In
     Symbols.

  -  Using an Examine or Deposit command, for example in
     an Action field of a dialog box or in a command
     procedure.

 When you are examining code address expressions, the
 Current Entity field duplicates some of the information
 in the current source or instruction window.  The
 entity is shown as a pathname consisting of a module
 name, line number, possibly a byte offset, and so on.

g examine arr buttons

=title Examining Consecutive Array Elements
=include debug g_specifying_variables
=include debug Examine_Status_L_Button
=include debug g_intro_to_addrexpr
 You can use the Current Entity arrow buttons in the
 main window to examine consecutive indexed components
 of an array variable.

 For example, assume that you have examined or deposited
 into the third element of array ARR.  That element,
 which is expressed as ARR[3] in some languages, is now
 the current entity and is displayed in the Current
 Entity field.

 To display the value of the next array element, ARR[4],
 click on the down-arrow button.  Or, to display the
 value of the previous array element, ARR[2], click on
 the up-arrow button.

 Each time you click on an arrow button, the current
 entity is reset to the array element that is being
 examined.  That element is then identified in the
 Current Entity field, and its value is displayed in the
 current output window (window OUT by default).

 The topic Current, Next, and Previous Entity Built-In
 Symbols identifies built-in symbols that, when used
 with the Examine command (and related dialog boxes),
 achieve the same effect as the Current Entity arrow
 buttons.

g examine inst buttons

=title Examining Consecutive VAX Instructions
=include debug Ex_Code_Dialog_Box g_display_instructions
=include debug Examine_Status_L_Button
=include debug Code_Menu_Examine_Button
=include debug Code_Menu_Deposit_Button
=include debug g_specifying_code
=include debug g_intro_to_addrexpr
=include debug g_display_predwnds
=include debug g_display_instructions
=include debug Ctrl_Menu_Step_Button
=include debug inst_Disp_Cmds_Menu_View_Src
=include debug The_Popup_Menu g_examine
 You can use the Current Entity arrow buttons in the
 main window to examine consecutive assembly-language
 instructions that are associated with a code address
 expression (for example, a routine name).

 When you specify a code address expression in the
 following contexts, the current entity is set to the
 first instruction at that code location:

  -  When you choose Examine Code...  or Deposit into
     Code from the Code submenu of the Data menu

  -  When you choose View Instructions...  from the
     Commands menu of an instruction window

  -  When you choose Examine from the pop-up menu, or
     click on the Examine button in the main window

 For example, suppose you have specified line 12 in the
 Examine Code dialog box:

   Examine %LINE 12
     MOD3\%LINE 12:   MOVL  (R11),B^16(R11)

 The instruction displayed is the first instruction
 associated with line 12, and it is now the current
 entity.

 To display the next instruction associated with line
 12, click on the down-arrow button.  To display the
 previous instruction, click on the up-arrow button.
 Each time you click on an arrow button, the current
 entity is reset to the instruction that is being
 examined.

 For example:

   Examine next instruction (click on down-arrow):
     MOD3\%LINE 12+4: MOVL  S^#1,B^4(R11)

   Examine next instruction (click on down-arrow):
     MOD3\%LINE 12+8: TSTL  B^16(R11)

   Examine previous instruction (click on up-arrow):
     MOD3\%LINE 12+4: MOVL  S^#1,B^4(R11)

 If an instruction window with the instruction attribute
 is displayed, the examined instruction is centered and
 boxed in the window.  If no instruction window has the
 instruction attribute, the instruction is displayed in
 the current output window (window OUT by default).

 The topic Current, Next, and Previous Entity Built-In
 Symbols identifies built-in symbols that, when used
 with the Examine command (and related dialog boxes),
 achieve the same effect as the Current Entity arrow
 buttons.

 A useful technique when debugging at the instruction
 level is to execute the program one instruction at a
 time.  To do so, choose Step by Instruction from the
 pop-up menu.  You can also establish a default
 instruction-based step unit (step to next instruction,
 step to next CALL instruction, and so on).  To
 establish a default step unit, choose Step...  from the
 Control menu.

 Note that, when you examine consecutive instructions in
 a MACRO program, the debugger might misinterpret data
 as instructions if storage for the data is allocated in
 the middle of a stream of instructions.

 The following example shows some MACRO code with two
 longwords of data storage allocated directly after the
 BRB instruction at line 7 (line numbers have been added
 to the example for clarity):

   module TEST
        1:         .TITLE  TEST
        2:
        3: START::
        4:         .WORD   0
        5:
        6:         MOVL    #2,R2
        7:         BRB     LABEL_2
        8:
        9:         .LONG   ^X12345
       10:         .LONG   ^X14465
       11:
       12: LABEL_2:
       13:         MOVL    #5,R5
       14:
       15:         .END    TEST$START

 Examining the code address expression %LINE 6 displays
 the instruction at the start of line 6:

   Examine %LINE 6
     TEST\START\%LINE 6:  MOVL   S^#02,R2

 Clicking on the down-arrow button causes the debugger
 to correctly interpret and display the logical
 successor entity as an instruction, at line 7:

   Examine next instruction (click on down-arrow):
     TEST\START\%LINE 7: BRB TEST\TEST$START\LABEL_2

 However, the following three clicks on the down-arrow
 button cause the debugger to interpret the three
 logical successors incorrectly as instructions:

   Examine next instruction:
     TEST\START\%LINE 7+2: MULF3  S^#11.00000,S^#0.5625000,S^#0.5000000

   Examine next instruction:
     ADDRESSMODE, instruction uses illegal or undefined addressing modes
     TEST\START\%LINE 7+6: MULD3  S^#0.5625000[R4],S^#0.5000000,@W^5505(R0)

   Examine next instruction:
     START+12:   HALT

g examine memory buttons

=title Examining Consecutive Memory Addresses
=include debug g_specifying_code
=include debug Ex_Code_Dialog_Box g_display_instructions
=include debug g_specifying_variables
=include debug Cust_Menu_Datatype_Button
=include debug Examine_Status_L_Button
=include debug g_intro_to_addrexpr
=include debug g_vector
 You can use the Current Entity arrow buttons in the
 main window to examine consecutive memory addresses.
 The behavior of the arrow buttons depends on the type
 that is associated with the current entity.

 If the current entity denotes a location that is
 associated with a compiler-generated type (and,
 therefore, a symbolic name), the debugger determines
 the next or previous logical entity according to that
 type.

 Thus, for an array variable, the down-arrow button sets
 the current entity to the next higher-numbered array
 element.  For a code location, the down-arrow button
 sets the current entity to the next instruction.

 By default, the debugger assigns the type longword
 integer to locations that are not associated with a
 symbolic name.  You can establish another default type
 by choosing Default Datatype...  from the Customize
 menu.  For such locations, the debugger determines the
 next or previous logical entity according to the
 default type.

 Thus, by default, for a location that does not have a
 compiler-generated type, the arrow buttons reset the
 start address of the current entity in increments of
 one longword (4 bytes).

 The topic Current, Next, and Previous Entity Built-In
 Symbols identifies built-in symbols that, when used
 with the Examine command (and related dialog boxes),
 achieve the same effect as the Current Entity arrow
 buttons.

Scopes Status L Button

=title Call Frame Field and Buttons in Main Window
=include debug g_callframe_label
=include debug g_callframe_buttons_display_src
=include debug g_callframe_buttons_display_inst
=include debug g_resolve_symb_using_callframe
=include debug g_resolve_symb
=include debug data_menu_callstack_button
=include debug g_display_source
=include debug g_display_instructions
=include debug g_Symb
The Call Frame field in the main window identifies the
 routine that the debugger uses as reference for the
 following purposes:

  -  When displaying source code in the current source
     window (window SRC by default)

  -  When displaying decoded VAX instructions in the
     current instruction window (window INST by default,
     if that window is displayed)

  -  When searching for symbols (variable names, routine
     names, and so on) that you specify

 The number displayed in the Call Frame field, to the
 left of the routine name, denotes the associated call
 frame on the routine call stack.

 By default, the routine identified is the one in which
 execution is currently suspended (the routine
 associated with call frame 0, at the top of the stack).

 The Call Frame arrow buttons enable you to reset the
 reference for source and instruction display and for
 symbol lookup to another call frame, which is then
 identified in the Call Frame field.

 A Call Frame arrow button that is dimmed indicates that
 the scope reference is at the end of the call stack.

 Note that the arrow buttons do not affect the execution
 of your program.

 To obtain detailed information about the call stack,
 Choose Call Stack...  from the Data menu.

Process Status L Button

=title Visible Process Field and Buttons in Main Window
=include debug g_multiproc
=include debug Data_Menu_Processes_Button
The Visible Process field and buttons in the main window
 are used when debugging multiprocess programs (programs
 that run in more than one process).  For programs that
 run in one process, the Visible Process field
 identifies the name of the process that is running the
 program being debugged.

 For a multiprocess program, the Visible Process field
 identifies the process that is currently the context
 for issuing process-specific commands.
 Process-specific commands are those that start
 execution (Step, Go, and so on) and those used for
 looking up symbols, setting breakpoints, looking at the
 call stack and registers, and so on.

 Commands that are not process specific are those that
 do not depend on the mapping of virtual memory but,
 rather, affect the entire debugging environment.

Additional information available:

set visible process

set visible process

=title Using the Visible Process Arrow Buttons
=include debug Data_Menu_Processes_Button
=include debug Process_Status_L_Button
Use the Visible Process arrow buttons to set the visible
 process to another process that is currently under
 debugger control:

  -  Click on the right-arrow button to set the visible
     process to the process with the next higher process
     number.

  -  Click on the left-arrow button to set the visible
     process to the process with the next lower process
     number.

 The process list is circular.  For example, the next
 process after the highest-numbered process is the
 lowest-numbered process.

Button Region

=Title Go, Step, Examine, and Stop Buttons in Main Window
=include debug Go_Button
=include debug step_button
=include debug examine_button
=include debug stop_button
=include debug The_Popup_Menu
=include debug The_Main_Window
By clicking on the Go, Step, Examine, or Stop buttons
 you can perform four common operations without having
 to use a dialog box or submenu.

 The Go button starts execution from the current program
 location.

 The Step button executes one step unit of your program
 (one source line by default).

 The Examine button displays the current value of a
 variable (or other symbolic address expression) that is
 declared in your program and is currently selected in a
 window.  If no entity is currently selected, the
 Examine button displays the value of the entity last
 examined or deposited into.

 The Stop button interrupts program execution or a
 debugger operation that is currently taking place (for
 example, displaying a long stream of data).

Go Button

=Title Go Button in Main Window
=include debug Go_Dialog_Box g_go
=include debug The_Popup_Menu g_go
=Include DEBUG Ctrl_Menu_Go_Button
=include debug Button_Region
Click on the Go button to start program execution from
 the current location.

 To start execution from another location, choose Go...
 from the Control menu and then specify the location in
 the dialog box.

Step Button

=Title Step Button in Main Window
=include debug Step_Dialog_Box g_step
=include debug Ctrl_Menu_Step_Button
=include debug The_Popup_Menu
=include debug Button_Region
Click on the Step button to execute the program one step
 unit of execution.

 By default, a step unit is one executable line of
 source code.  To change the step unit and specify other
 Step command options, choose Step...  from the Control
 menu.

Examine Button

=Title Examine Button in Main Window
=include debug g_specifying_variables
=include debug Examine_Status_L_Button
=include debug Ex_Vbl_Dialog_Box g_examine_var
=include debug g_intro_to_addrexpr
=include debug Data_Menu_Variables_Entry
=include debug Data_Menu_Code_Entry
=include debug Data_Menu_Addresses_Entry
=include debug Ex_Code_Dialog_Box g_display_instructions
=include debug g_display_predwnds
=include debug The_Popup_Menu g_examine
=include debug g_vector
=include debug Button_Region
Click on the Examine button to display the current value
 of a variable or other symbolic address expression.

 To examine a variable, proceed as follows:

 1.  Select the variable name from any window, observing
     the syntax of the source language.  For example,
     selecting ARR[4] specifies element 4 of array ARR
     in some languages.

 2.  Click on the Examine button.

 The debugger displays the value of the selected
 variable in the current output window (window OUT by
 default).

 If no entity is currently selected, the Examine button
 displays the value of the entity last examined or
 deposited into (if any).  This entity is identified in
 the Current Entity field of the main window.

 To display the value associated with an arbitrary
 address expression, choose Variables, Code, or
 Addresses or Registers from the Data menu (then choose
 the Examine item from the associated submenu).

 If you examine a routine name (or any other symbolic
 address expression that is associated with code---that
 is, VAX assembly-language instruction), the output is
 displayed as follows:

  -  If an instruction window with the instruction
     attribute is displayed, the first instruction for
     the specified address expression is centered in the
     window and boxed.

  -  If no instruction window has the instruction
     attribute, the first instruction for the specified
     address expression is displayed in the current
     output window (window OUT by default).

 Note:  By default, the predefined instruction window
 INST is not displayed and does not have the instruction
 attribute.  See Displaying the Predefined Windows INST,
 REG, and AUTO.

Stop Button

=Title Stop Button in Main Window
=include debug Data_Menu_Callstack_Button
=include debug The_Popup_Menu g_view_curloc
=include debug Button_Region
Click on the Stop button to do the following tasks:

  -  Interrupt program execution.  This is useful if the
     program is executing an infinite loop.

  -  Interrupt a debugger operation that is in progress.
     This is useful if you want to interrupt a debugger
     operation that is taking a long time to complete
     (for example, displaying a long stream of data).

 Clicking on the Stop button does not end the debugging
 session.

The Command DB

=Title COMMAND box
=include debug g_cmd_mode
=include debug Cust_Hide_Show_Command_DB
=include debug Cust_Menu_Entry
Use the COMMAND box to enter debugger commands at the
 prompt.  You must first assign the input focus to the
 command box.

SRC Display Window

=Title Source Window
=include debug SRC_Display_Menu_Bar

SRC Display Menu Bar

=Title Source Window Menu Bar
=include debug Disp_File_Menu_entry
=include debug Disp_Edit_Menu_Entry
=include debug SRC_Disp_Cmds_Menu_Entry
Use the pull-down menus in the source window as follows:

  -  Choose the File menu to close the window, end the
     debugging session, or terminate a process of a
     mutiprocess program (if the window is process
     specific).

  -  Choose the Edit menu to copy data selected in a
     window to the clipboard.

  -  Choose the Commands menu to view one or more
     specified lines of source code (through the View
     Source...  menu item).

SRC Disp Cmds Menu Entry

=Title Commands Menu on Source Window
=include debug SRC_Disp_Cmds_Menu_View_Src
Choose View Source...  from the Commands menu to view
 one or more specified lines of source code.

SRC Disp Cmds Menu

=Title Commands Menu on Source Window
=include debug SRC_Disp_Cmds_Menu_View_Src
Choose View Source...  from the Commands menu to view
 one or more specified lines of source code.

SRC Disp Cmds Menu View Src

=Title View Source...  Item on Commands Menu (Source Window)
=include debug Linenum_Dialog_Box
=include debug g_display_source
Choose View Source...  to view one or more specified
 lines of source code.

INST Display Window

=Title Instruction Window
=include debug INST_Display_Menu_Bar

INST Display Menu Bar

=Title Instruction Window Menu Bar
=include debug Disp_File_Menu_entry
=include debug Disp_Edit_Menu_Entry
=include debug INST_Disp_Cmds_Menu_Entry
Use the pull-down menus in the instruction window as
 follows:

  -  Choose the File menu to close the window, end the
     debugging session, or terminate a process of a
     mutiprocess program (if the window is process
     specific).

  -  Choose the Edit menu to copy data selected in a
     window to the clipboard.

  -  Choose the Commands menu to display the decoded VAX
     assembly-language instructions associated with a
     specified address expression.

INST Disp Cmds Menu Entry

=Title Commands Menu on Instruction Window
=include debug INST_Disp_Cmds_Menu_View_Src
Choose View Instructions...  from the Commands menu to
 display the decoded VAX assembly-language instructions
 associated with a specified address expression.

INST Disp Cmds Menu

=Title Commands Menu on Instruction Window
=include debug INST_Disp_Cmds_Menu_View_Src
Choose View Instructions...  from the Commands menu to
 display the decoded VAX assembly-language instructions
 associated with a specified address expression.

INST Disp Cmds Menu View Src

=Title View Instructions...  on Commands Menu (Inst Window)
=include debug Address_Dialog_Box
=include debug g_display_instructions
Choose View Instructions...  to display the decoded VAX
 assembly-language instructions associated with a
 specified address expression.

OUT Display Window

=Title Output Window
=include debug OUT_Display_Menu_Bar
=include debug Wind_Dialog_Box g_predwnds g_out

OUT Display Menu Bar

=Title Output Window Menu Bar
=include debug Disp_File_Menu_entry
=include debug Disp_Edit_Menu_Entry
=include debug Wind_Dialog_Box g_predwnds g_out
Use the pull-down menus in the output window as follows:

  -  Choose the File menu to close the window, end the
     debugging session, or terminate a process of a
     mutiprocess program (if the window is process
     specific).

  -  Choose the Edit menu to copy data selected in a
     window to the clipboard.

REG Display Window

=Title Register Window
=include debug REG_Display_Menu_Bar
=include debug Wind_Dialog_Box g_predwnds g_reg

REG Display Menu Bar

=Title Register Window Menu Bar
=include debug Disp_File_Menu_entry
=include debug Disp_Edit_Menu_Entry
=include debug Wind_Dialog_Box g_predwnds g_reg
Use the pull-down menus in the register window as
 follows:

  -  Choose the File menu to close the window, end the
     debugging session, or terminate a process of a
     mutiprocess program (if the window is process
     specific).

  -  Choose the Edit menu to copy data selected in a
     window to the clipboard.

AUTO Display Window

=Title Automatic Window
=include debug AUTO_Display_Menu_Bar
=include debug Wind_Dialog_Box g_predwnds g_auto

AUTO Display Menu Bar

=Title Automatic Window Menu Bar
=include debug Disp_File_Menu_Entry
=include debug Disp_Edit_Menu_Entry
=include debug AUTO_Disp_Cmds_Menu_Entry
=include debug Wind_Dialog_Box g_predwnds g_auto
Use the pull-down menus in the automatic window as
 follows:

  -  Choose the File menu to close the window, end the
     debugging session, or terminate a process of a
     mutiprocess program (if the window is process
     specific).

  -  Choose the Edit menu to copy data selected in a
     window to the clipboard.

  -  Choose the Commands menu to add or delete an
     Examine command to or from the command list for the
     automatic window.

AUTO Disp Cmds Menu Entry

=Title Commands Menu on Automatic Window
=include debug AUTO_Disp_Cmds_Menu_Add_Sele
=include debug AUTO_Disp_Cmds_Menu_Del_Sele
=include debug Wind_Dialog_Box g_predwnds g_auto
=include debug Cust_Menu_Windows_Button
Use the Commands menu to add or delete an Examine
 command to or from the command list for the automatic
 window.

 The command is added or deleted by selecting text from
 a window.  This is a quick alternative to using the
 Windows...  item on the Customize menu.

AUTO Disp Cmds Menu

=Title Commands Menu on Automatic Window
=include debug AUTO_Disp_Cmds_Menu_Add_Sele
=include debug AUTO_Disp_Cmds_Menu_Del_Sele
=include debug Wind_Dialog_Box g_predwnds g_auto
=include debug Cust_Menu_Windows_Button
Use the Commands menu on the automatic window as
 follows:

  -  Choose Examine Selected to add an Examine command
     to the command list that is associated with the
     automatic window

  -  Choose Delete Selected to delete an Examine command
     from the command list

 The command to be added or deleted is specified by
 selecting text from a window.

 When you want to add or delete an Examine command (as
 opposed to other commands), this technique is a quick
 alternative to the more general procedure for modifying
 an automatic window:

 1.  Choose Windows...  from the Customize menu.  A
     dialog box is displayed.

 2.  Specify the automatic window in the Window field.

 3.  Add or delete the command to or from the command
     list that is currently specified in the Action
     field.

AUTO Disp Cmds Menu Add Sele

=Title Examine Selected Item on Commands Menu (Auto Window)
=include debug Wind_Dialog_Box g_predwnds g_auto
=include debug g_cmd_mode
=include debug Cust_Menu_Windows_Button
Choose Examine Selected to add an Examine command to the
 command list that is associated with the automatic
 window.

 You specify the entity to be examined by selecting text
 in a window.  The entity is typically a variable name,
 but it may be any symbolic address expression that is
 declared in the program being debugged (for example, a
 routine name).

 For example, proceed as follows to add an Examine
 Variable command:

 1.  Select the variable name from any window, using the
     syntax of the source language.  For example,
     selecting ARR[4] specifies element 4 of array ARR
     in some languages.

 2.  Click on Examine Selected from the automatic
     window's Commands menu.  The Examine command is
     automatically appended to the current command list
     associated with the automatic window.

 When you want to add an Examine command (as opposed to
 some other command), this technique is a quick
 alternative to the more general procedure for modifying
 an automatic window:

 1.  Choose Windows...  from the Customize menu.  A
     dialog box is displayed.

 2.  Specify the automatic window in the Window field.

 3.  Add the Examine command to the command list that is
     currently specified in the Action field.

 You can verify the effect of using Examine Selected by
 looking at the command list in the Action field of the
 Windows dialog box (when the automatic window is
 specified in the Window field).  The debugger
 automatically precedes the appended command with the
 semicolon (;) command separator.

AUTO Disp Cmds Menu Del Sele

=Title Delete Selected Item on Commands Menu (Auto Window)
=include debug Wind_Dialog_Box g_predwnds g_auto
=include debug g_cmd_mode
=include debug Cust_Menu_Windows_Button
Choose Delete Selected to delete an Examine command from
 the command list that is associated with the automatic
 window.

 You specify the command to be deleted by selecting any
 part of the command's output in the automatic window.

 Proceed as follows to delete an Examine command:

 1.  Select any part of the Examine command's output
     from the automatic window.

 2.  Click on Delete Selected from the automatic
     window's Commands menu.  The Examine command is
     automatically deleted from the current command list
     associated with the automatic window.

 Note that you cannot modify a command when you use
 Delete Selected.  You can only delete a command.  For
 example, you cannot modify a command that examines an
 entire array variable into a command that examines only
 certain array elements, by selecting only part of the
 output.

 When you want to delete an Examine command (as opposed
 to some other command), this technique is a quick
 alternative to the more general procedure for modifying
 an automatic window:

 1.  Choose Windows...  from the Customize menu.  A
     dialog box is displayed.

 2.  Specify the automatic window in the Window field.

 3.  Delete the Examine command from the command list
     that is currently specified in the Action field.

 You can verify the effect of using Delete Selected by
 looking at the command list in the Action field of the
 Windows dialog box (when the automatic window is
 specified in the Window field).  The debugger
 automatically deletes the semicolon (;) command
 separator along with command.

Disp File Menu Entry

=Title File Menu (Source, Output, Auto, Inst, Reg Windows)
=include debug Disp_File_Menu_Close_Button
=include debug Disp_File_Menu_Quit_Button
=include debug Disp_File_Menu_Exit_Button
Use the File menu as follows:

  -  Choose Close Window to close the window.

  -  Choose Quit to end the debugging session or
     terminate a process, with the option of also
     executing any exit handlers that are declared in
     the exiting image.

  -  Choose Exit to end the debugging session or
     terminate a process, also executing any exit
     handlers that are declared in the exiting image.

 If an exit handler is declared in your program, a
 dialog box gives you the option of executing that
 handler when you choose Quit.

Disp File Menu

=Title File Menu (Source, Output, Auto, Inst, Reg Windows)
=include debug Disp_File_Menu_Close_Button
=include debug Disp_File_Menu_Quit_Button
=include debug Disp_File_Menu_Exit_Button
Use the File menu as follows:

  -  Choose Close Window to close the window.

  -  Choose Quit to end the debugging session or
     terminate a process, with the option of also
     executing any exit handlers that are declared in
     the exiting image.

  -  Choose Exit to end the debugging session or
     terminate a process, also executing any exit
     handlers that are declared in the exiting image.

 If an exit handler is declared in your program, a
 dialog box gives you the option of executing that
 handler when you choose Quit.

Disp File Menu Close Button

=Title Close Window Item on File Menu
Choose Close Window to close the window.

Disp File Menu Quit Button

=Title Quit Item on File Menu
=include debug Disp_File_Menu_Exit_Button
Choose Quit to perform the following functions, with the
 option of also executing any exit handlers that are
 declared in the exiting image:

  -  For a one-process program:  end the debugging
     session.

  -  For a multiprocess program:  if the window is not
     process specific, terminate the visible process.

     If the window is process specific, terminate the
     process that is associated with the window.

 If an exit handler is declared in your program, a
 dialog box gives you the option of executing that
 handler when you choose Quit.

Disp File Menu Exit Button

=Title Exit Item on File Menu
=include debug Disp_File_Menu_Quit_Button
Choose Exit to perform the following functions, also
 executing any exit handlers that are declared in the
 exiting image:

  -  For a one-process program:  end the debugging
     session.

  -  For a multiprocess program:  if the window is not
     process specific, terminate the visible process.

     If the window is process specific, terminate the
     process that is associated with the window.

Disp Edit Menu Entry

=Title Edit Menu (Source, Output, Auto, Inst, Reg Windows)
=include debug Disp_Edit_Menu_Copy_Button
Choose Copy from the Edit menu to copy data selected in
 a window to the clipboard.

Disp Edit Menu

=Title Edit Menu (Source, Output, Auto, Inst, Reg Windows)
=include debug Disp_Edit_Menu_Copy_Button
Choose Copy from the Edit menu to copy data selected in
 a window to the clipboard.

Disp Edit Menu Copy Button

=Title Copy Item on Edit Menu
Choose Copy to copy data selected in a window to the
 clipboard.

Disp Edit Menu Clear Button

=Title Clear Item on Edit Menu
Choose Clear to clear data from the clipboard.

The Popup Menu

=Title Using the Pop-up Menu
To use the pop-up menu, proceed as follows:

 1.  Position the pointer cursor within a debugger
     window.

 2.  Press and hold MB2 to display the pop-up menu, then
     drag to the desired menu item and release MB2.

 The debugger's pop-up menu enables you to perform some
 common debugger operations without having to pull down
 a menu in the main window.

 Note that the behavior of the Examine, Evaluate, and
 Set Break menu items depends on whether you selected
 text before invoking the pop-up menu.

Additional information available:

g examineg evaluateg step intog step overg step returng step instruction
g step lineg breakg view curlocg go

g examine

=title Examine Item on Pop-Up Menu
=include debug g_specifying_variables
=include debug Examine_Status_L_Button
=include debug Ex_Vbl_Dialog_box g_examine_var
=include debug Data_Menu_Variables_Entry
=include debug Data_Menu_Code_Entry
=include debug Data_Menu_Addresses_Entry
=include debug Ex_Code_Dialog_Box g_display_instructions
=include debug g_display_predwnds
=include debug Examine_Button
=include debug g_vector
=include debug The_Popup_Menu
 Choose Examine to display the current value of a
 variable or other symbolic address expression.

 To examine a variable, proceed as follows:

 1.  Select the variable name from any window, observing
     the syntax of the source language.  For example,
     selecting ARR[4] specifies element 4 of array ARR
     in some languages.

 2.  Press MB2 to display the pop-up menu, then choose
     Examine from the menu.

 The debugger displays the value of the selected
 variable in the current output window (window OUT by
 default).

 If no entity is currently selected, Examine displays
 the value of the entity last examined or deposited into
 (if any).  This entity is identified in the Current
 Entity field of the main window.

 To display the value associated with an arbitrary
 address expression, choose Variables, Code, or
 Addresses or Registers from the Data menu (then choose
 the Examine item from the associated submenu).

 If you examine a routine name (or any other symbolic
 address expression that is associated with code---that
 is, VAX assembly-language instruction), the output is
 displayed as follows:

  -  If an instruction window with the instruction
     attribute is displayed, the first instruction for
     the specified address expression is centered and
     boxed in the window.

  -  If no instruction window has the instruction
     attribute, the first instruction for the specified
     address expression is displayed in the current
     output window (window OUT by default).

 Note:  By default, the predefined instruction window
 INST is not displayed and does not have the instruction
 attribute.  See Displaying the Predefined Windows INST,
 REG, and AUTO.

g evaluate

=title Evaluate Item on Pop-Up Menu
=include debug g_langexpr
=include debug Data_Menu_Express_Button
=include debug The_Popup_Menu
 Choose Evaluate to display the value of a language
 expression that you have selected in a window.

 Proceed as follows:

 1.  Select a language expression (such as X + 5) from a
     window.

 2.  Press MB2 to display the pop-up menu, then choose
     Evaluate from the menu.

 The debugger evaluates the language expression in the
 currently set language and displays the resulting value
 in the current output window (window OUT by default).

 If no entity is currently selected, the value last
 examined or evaluated by an examine, evaluate, or
 deposit operation (if any) is displayed.  This is the
 value currently defined by the built-in symbol %CURVAL.

 To evaluate an arbitrary language expression, choose
 Language Expressions...  from the Data menu in the main
 window.

g step into

=title Step Into Routine Item on Pop-Up Menu
=include debug Step_Dialog_Box g_step
=include debug step_button
=include debug Ctrl_Menu_Step_Button
=include debug The_Popup_Menu g_step_over
=include debug The_Popup_Menu
 If execution is currently suspended at a routine call,
 choose Step Into Routine to execute the program up to
 the start of that routine.  This enables you to step
 into, and then through, the called routine.

 If execution is not suspended at a routine call, Step
 Into Routine executes one default step unit, as if you
 had clicked on the Step button in the main window.  A
 default step unit is one line of source code, unless
 another default step unit was established by choosing
 Step...  from the Control menu in the main window.

g step over

=title Step Over Routine Item on Pop-Up Menu
=include debug Step_Dialog_Box g_step
=include debug step_button
=include debug Ctrl_Menu_Step_Button
=include debug The_Popup_Menu g_step_into
=include debug The_Popup_Menu
 If execution is currently suspended at a routine call,
 choose Step Over Routine to execute the called routine
 up to and including the routine's RET instruction (step
 over the routine).  This is the default behavior of the
 Step command.

 If execution is not suspended at a routine call, Step
 Over Routine executes one default step unit, as if you
 had clicked on the Step button in the main window.  A
 default step unit is one line of source code, unless
 another default step unit was established by choosing
 Step...  from the Control menu in the main window.

g step return

=title Step To Return Item on Pop-Up Menu
=include debug Step_Dialog_Box g_step
=include debug step_button
=include debug Ctrl_Menu_Step_Button
=include debug The_Popup_Menu
 Choose Step To Return to execute the program to the
 return (RET) instruction of the routine in which
 execution is currently suspended; that is, up to the
 point just prior to transferring control back to the
 calling routine.  This enables you to inspect the local
 environment (for example, obtain the values of local
 variables) before the RET instruction deletes the
 routine's call frame from the call stack.

g step instruction

=title Step By Instruction Item on Pop-Up Menu
=include debug Step_Dialog_Box g_step
=include debug step_button
=include debug Ctrl_Menu_Step_Button
=include debug g_display_instructions
=include debug The_Popup_Menu
 Choose Step By Instruction to execute the program to
 the next VAX assembly-language instruction encountered
 during program execution.

g step line

=title Step By Line Item on Pop-Up Menu
=include debug Step_Dialog_Box g_step
=include debug step_button
=include debug Ctrl_Menu_Step_Button
=include debug The_Popup_Menu
 Choose Step By Line to execute the program to the start
 of the next executable source line encountered during
 program execution.

 When used to execute the program in units of one or
 more source lines, the Step command executes one or
 more executable lines at a time, skipping over any
 other lines.  Executable lines are those for which
 instructions were generated by the compiler (for
 example, lines with routine calls or assignment
 statements).  Examples of nonexecutable lines are
 comment lines or lines with variable declarations
 without value assignments.

g break

=title Set Break Item on Pop-Up Menu
=include debug Break_Dialog_Box g_breaktrace
=include debug Ctrl_Menu_Breakpoint_Button
=include debug The_Popup_Menu
 Choose Set Break to suspend execution at a location in
 your program (a breakpoint).

 The pop-up menu provides two options for quickly
 setting a breakpoint:

  -  To set a breakpoint on a line that you have
     selected in a window, proceed as follows:

     1.  Select a line in a source or instruction window

     2.  Press MB2 to display the pop-up menu, then
         choose Set Break from the menu


  -  To set a breakpoint on the line at which execution
     is currently suspended, proceed as follows:

     1.  Check that no text is selected within a source
         or instruction window

     2.  Press MB2 to display the pop-up menu, then
         choose Set Break from the menu


 When selecting a breakpoint location in a window, note
 the following points:

  -  Make the selection in a debugger source or
     instruction window, or in a window of another
     application that provides the same source
     correlation context (for example, an LSEDIT editor
     window).

  -  You can select any portion of a source line, but
     the line must result in executable code (VAX
     assembly-language instructions).  For example, a
     line that contains a routine declaration, routine
     call, assignment statement, or label results in
     executable code.

  -  If you select a source line that is not associated
     with code (for example, a comment line), the
     debugger issues a diagnostic message that
     identifies the previous or next executable line.

  -  If you select text in a window other than a source,
     instruction, or equivalent window (with source
     correlation context), the breakpoint is set on the
     line at which execution is currently suspended, as
     if no text had been selected.

 To set breakpoints on other locations, classes of
 instructions, or events, choose Break...  from the
 Control menu in the main window.

g view curloc

=title View Current Location Item on Pop-Up Menu
=include debug g_display_source
=include debug g_display_instructions
=include debug Scopes_Status_L_Button
=include debug The_Popup_Menu
 Choose View Current Location to display the source line
 or the decoded VAX assembly-language instruction at
 which execution is suspended in the current scope.

 The source line is centered and boxed in the current
 source window (the window with the source attribute).
 This is window SRC by default.

 If an instruction window with the instruction attribute
 is displayed, the instruction is centered and boxed in
 the window.  If no window has the instruction
 attribute, the instruction is identified in the current
 output window (window OUT by default).

 By default, the predefined instruction window INST is
 not displayed and does not have the instruction
 attribute.  See Displaying the Predefined Windows INST,
 REG, and AUTO.

 If the Call Frame field in the main window indicates a
 call frame other than 0, clicking on View Current
 Location displays the source code or instructions for
 that routine, and the boxed line identifies the call to
 the next routine up the call stack.  In such cases, to
 display the current location in the routine at the top
 of the call stack, click on the Call Frame up-arrow
 button until call frame 0 is displayed in the Call
 Frame field.

 If the debugger cannot locate source code for display,
 it tries to display source code in the next routine
 down on the call stack for which source code is
 available.  If the debugger can display source code for
 such a routine, it issues the following message:

    SOURCESCOPE, Source lines not available for .0\%PC.
      Displaying source in a caller of the current routine.

 In such cases, the boxed line in the source window
 identifies the line that contains code following the
 call statement in the calling routine.

g go

=title Go Item on Pop-Up Menu
=include debug Go_Dialog_Box g_go
=include debug go_button
=include debug Ctrl_Menu_Go_Button
=include debug The_Popup_Menu
 Choose Go to start program execution from the current
 location.

 To start execution from another location, choose Go...
 from the Control menu in the main window and then
 specify the location in the Go dialog box.

Quit Caution Box

=Title 'Execute Exit Handlers Upon Exit' Caution Box
=include debug Disp_File_Menu_Entry
=include debug Data_Menu_Handlers_Button
If your program contains application-declared exit
 handlers, you are asked whether to execute the exit
 handlers when you choose Quit to exit the debugger.

 If you choose Exit rather than Quit, any
 application-declared exit handlers are executed upon
 exiting the debugger.

Message Box

=Title Message Box

Not Yet Implemented

=Title 'Not yet implemented' Feature

g ok apply cancel buttons

=title OK, Apply, and Cancel Buttons
 The functions of the OK, Apply, and Cancel buttons are
 as follows:

   OK       Applies the current settings in the dialog
            box and closes the box.

   Apply    Applies the current settings, but does not
            close the dialog box. You can therefore apply
            different settings without having to re-open
            the dialog box.

   Cancel   Closes the dialog box without applying the
            current settings.

Address Dialog Box

=Title View Instructions Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug INST_Disp_Cmds_Menu_View_Src
=include debug Code_Menu_Examine_Button
=include debug g_display_predwnds
=include debug Examine_Status_L_Button g_examine_inst_buttons
=include debug Examine_Status_L_Button
=include debug g_display_instructions
=include debug The_Popup_Menu g_examine
=include debug examine_button
Use the View Instructions dialog box to display the VAX
 assembly-language instructions at a code location (an
 address expression associated with instructions).

 Proceed as follows:

 1.  Enter a code address expression in the Address
     Expression field.  Routine names, program labels,
     and line numbers are symbolic address expressions
     that are associated with code.

     Or, to determine the instructions associated with a
     source line, you can first select that line from a
     source window and then open the dialog box.  The
     module name and line number are automatically
     inserted in the Address Expression field.

 2.  Click on OK or Apply.

     The first instruction for the specified address
     expression is centered and boxed in the current
     instruction window.

 Note that choosing Examine Code...  from the Code
 submenu of the Data menu also enables you to display
 the instructions at a code location.  In addition, the
 Examine Code dialog box enables you to display
 information about the instruction operands.

Additional information available:

g address expression field

g address expression field

=title Address Expression Field
=include debug g_selecting_code
=include debug g_specifying_code
=include debug g_intro_to_addrexpr
Enter a code address expression in this field (that is,
 an address expression that is associated with one or
 more VAX assembly-language instructions).

 You can fill this field automatically by selecting text
 in a window before opening the dialog box.

Break Dialog Box

=Title Break Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug The_Popup_Menu g_break
Use the Break dialog box to set, identify, or cancel
 breakpoints or tracepoints.

Additional information available:

g breaktracebehavior break dialogg set breakidentify breakcancel break
set canceltargetg address expression fieldg list boxg notification option menu
g Condition fieldg after passes fieldg action fieldg instructions field
g event fieldwithin calls buttong jsb routines buttong shareable routines button
g system routines button

g breaktrace

=title Using Breakpoints and Tracepoints
=include debug Ctrl_Menu_Breakpoint_Button
=include debug The_Popup_Menu g_break
=include debug Break_Dialog_Box
To set a breakpoint or tracepoint in your program,
 choose Break...  from the Control menu.

 A breakpoint is a location in your program at which
 execution is to be suspended.  Typical locations are
 routine declarations, program labels, and specific
 lines of source code.  At a breakpoint, you can step
 into a routine, check the current value of a variable,
 and so on.

 In addition to specifying unique locations, you can set
 breakpoints on every source line or on certain classes
 of VAX assembly-language instructions.  You can also
 set breakpoints on certain kinds of events, such as
 exceptions and Ada tasking events.  And you can set
 conditional breakpoints that trigger only when a
 specified expression is evaluated to be true.

 A tracepoint is like a breakpoint, except that
 execution continues after the debugger reports that the
 tracepoint has been reached.  Tracepoints enable you to
 monitor the path of execution of your program through
 specified locations (for example, through routine
 calls).  As with breakpoints, you can trace through
 classes of instructions, monitor events, and set
 conditional tracepoints.

behavior break dialog

=title Debugger Behavior at Breakpoints and Tracepoints
When a breakpoint or tracepoint is triggered, the
 debugger takes the following action:

 1.  Suspends program execution at the breakpoint or
     tracepoint location.

 2.  If an integer value was specified in the After
     field when the breakpoint or tracepoint was set,
     checks the current count.  If the specified number
     of counts has not been reached, execution is
     resumed and the debugger does not perform the
     remaining steps.

 3.  Evaluates the expression that was specified in the
     Condition field, if any, when the breakpoint or
     tracepoint was set.  If the value of the expression
     is FALSE, execution is resumed and the debugger
     does not perform the remaining steps.

 4.  Reports that execution has reached the breakpoint
     or tracepoint location by issuing a "break..." or
     "trace..." message, unless the 'off' option was
     specified in the Notification option menu.

 5.  Displays the line of source code in which execution
     is suspended, unless the 'off' or 'on, without
     source display' option was specified in the
     Notification option menu, either in the Break
     dialog box or, previously, as a Step command
     default in the Step dialog box.

 6.  Executes the debugger commands specified in the
     Action field, if any were specified when the
     breakpoint or tracepoint was set.  In the case of a
     breakpoint, if a GO command was specified,
     execution continues and the debugger does not
     perform the remaining step.

 7.  If a tracepoint was set, resumes execution.

g set break

=title Setting Breakpoints and Tracepoints
=include debug Break_Dialog_Box set_cancel
=include debug Break_Dialog_Box target
=include debug Break_Dialog_Box g_address_expression_field
=include debug g_selecting_code
To set a breakpoint or tracepoint with the Break dialog
 box, proceed as follows:

 1.  Choose the appropriate 'Set...' option from the
     Set/Cancel (upper-left) option menu.

     A temporary breakpoint or tracepoint disappears
     after it is triggered.  The breakpoint or
     tracepoint does not remain permanently set.

 2.  Choose the kind of breakpoint or tracepoint on the
     Target (upper-right) option menu (for example, on a
     specified address, on every source line, on a
     particular VAX instruction, or on a class of
     instructions).

 3.  If setting a breakpoint or tracepoint on a
     specified address, enter an address expression that
     is associated with code (one or more VAX
     instructions) in the Address Expression field.
     Routine names, program labels, and line numbers are
     symbolic address expressions that are associated
     with code.

     Or, before opening the dialog box, select a line in
     a source or instruction window at which to set a
     breakpoint or tracepoint.  The module name and line
     number are automatically inserted in the Address
     Expression field.

 4.  If setting breakpoints or tracepoints on every
     source line or on classes of instructions, do not
     specify an address expression.

 5.  If setting breakpoints or tracepoints on events
     (Ada or SCAN programs), you can specify an address
     expression with certain event name keywords (see
     your language documentation).

 6.  Choose any additional options from the dialog box,
     then click on OK or Apply.

 Any breakpoints or tracepoints that are currently set
 are identified in the list box.  Some breakpoints and
 tracepoints are predefined when you invoke the debugger
 with certain kinds of programs (for example, Ada or
 multiprocess programs).  Predefined breakpoints and
 tracepoints are identified as such in the list box.

 You can set and cancel a (user defined) breakpoint or
 tracepoint independently of a predefined breakpoint or
 tracepoint that was set on the same location or event.

 However, setting a breakpoint on the same location or
 classes of locations (instructions, lines, events, and
 so on) as a previously set tracepoint cancels the
 breakpoint, and conversely.

identify break

=title Identifying the Current Breakpoints and Tracepoints
Any breakpoints or tracepoints that are currently set
 are identified in the list box.  Some breakpoints and
 tracepoints are predefined when you invoke the debugger
 with certain kinds of programs (for example, Ada,
 multiprocess).  Predefined breakpoints and tracepoints
 are identified as such in the list box.

 If you established a breakpoint or tracepoint using the
 After field, the current value of the decimal integer N
 is displayed (that is, the originally specified integer
 value minus one for each time the breakpoint or
 tracepoint location was reached).  The debugger
 decrements N each time the breakpoint or tracepoint
 location is reached until the value of N is zero, when
 the debugger takes break or trace action.

cancel break

=title Canceling Breakpoints and Tracepoints
Any breakpoints or tracepoints that are currently set
 are identified in the list box.  To cancel a breakpoint
 or tracepoint:

 1.  In the list box, click on the breakpoint or
     tracepoint to be canceled.

 2.  Click on the Cancel selected option from the
     Set/Cancel option menu.

 3.  Click on OK or Apply.

 Some breakpoints and tracepoints are predefined when
 you invoke the debugger with certain kinds of programs
 (for example, Ada or multiprocess programs).
 Predefined breakpoints and tracepoints are identified
 as such in the list box.

 You can set and cancel a (user defined) breakpoint or
 tracepoint independently of a predefined breakpoint or
 tracepoint that was set on the same location or event.

 Setting a breakpoint on the same location or class of
 locations (instructions, lines, events, and so on) as a
 previously set tracepoint cancels the tracepoint, and
 conversely.

set cancel

=title Set/Cancel (Upper-Left) Option Menu
Use the Set/Cancel option menu to specify that you want
 to set or cancel one or more breakpoints or
 tracepoints.

 A temporary breakpoint or tracepoint disappears after
 it is triggered.  The breakpoint or tracepoint does not
 remain permanently set.

 Use the Cancel selected option to cancel a breakpoint
 or tracepoint that you have selected in the list box:

 1.  In the list box, click on the breakpoint or
     tracepoint to be canceled.

 2.  Click on the Cancel selected option from the
     Set/Cancel option menu.

 3.  Click on OK or Apply.

target

=title Target (Upper-Right) Option Menu
Use the Target option menu to specify the kind of
 breakpoint or tracepoint that you want to set (for
 example, on a specified address, on every source line,
 on a particular VAX instruction, or on a class of
 instructions).

Additional information available:

addressinstructionbranchcallreturnevery instline
exceptionevery vecinsteventactivationtermination

address

=title 'the specified address' Option
=include debug Break_Dialog_Box g_address_expression_field
=include debug Break_Dialog_Box target
Use this option when setting a breakpoint or tracepoint
 on a particular location in your program.

 You specify the location by entering an address
 expression in the Address Expression field.  For
 breakpoints or tracepoints, use an address expression
 that is associated with code (one or more VAX
 instructions).

instruction

=title 'the specified instruction' Option
=include debug Break_Dialog_Box g_instructions_field
=include debug Break_Dialog_Box within_calls_button
=include debug Break_Dialog_Box target
Causes the debugger to break on or trace one or more
 specified VAX instructions, if encountered during
 execution.

 You specify the instructions by entering a list of one
 or more instruction opcodes in the Instructions field.

 If you specify a vector instruction, do not include an
 instruction qualifier (/U, /V, /M, /0, or /1) with the
 instruction mnemonic.

branch

=title 'every branch instruction' Option
=include debug Break_Dialog_Box within_calls_button
=include debug Break_Dialog_Box target
Causes the debugger to break on or trace every branch
 instruction encountered during program execution.

call

=title 'every call instruction' Option
=include debug Break_Dialog_Box within_calls_button
=include debug Break_Dialog_Box target
Causes the debugger to break on or trace every call
 instruction encountered during program execution,
 including the RET instruction.

return

=title 'the return instruction' Option
=include debug Break_Dialog_Box g_address_expression_field
=include debug Break_Dialog_Box within_calls_button
=include debug Break_Dialog_Box target
Causes the debugger to break on or trace the return
 (RET) instruction of a specified routine.

 When using this option, you must specify an address
 expression for the routine in the Address Expression
 field.  For example, enter the routine name or the line
 number for the routine declaration.

 You can use this option only with routines called with
 a CALLS or CALLG instruction; it cannot be used with
 JSB routines.

 Breaking on the RET instruction enables you to inspect
 the local environment (for example, obtain the values
 of local variables) before the RET instruction deletes
 the routine's call frame from the call stack.

 The address expression specified is an instruction
 address within a CALLS or CALLG routine.  It can be
 simply be a routine name, in which case it specifies
 the routine start address.  However, you can also
 specify another location in a routine, so you can see
 only those returns that are taken after a certain code
 path is followed.

 Setting a breakpoint on the return instruction of a
 routine cancels any previous breakpoint that was set on
 that same routine.

every inst

=title 'every instruction' Option
=include debug Break_Dialog_Box within_calls_button
=include debug Break_Dialog_Box target
Causes the debugger to break on or trace every
 instruction encountered during program execution.

line

=title 'every line' Option
=include debug Break_Dialog_Box within_calls_button
=include debug Break_Dialog_Box target
Causes the debugger to break on or trace the start of
 each source line encountered during program execution.

exception

=title 'every exception' Option
=include debug Break_Dialog_Box within_calls_button
=include debug Break_Dialog_Box target
Causes the debugger to break or trace whenever an
 exception is signaled.  The exception breakpoint or
 tracepoint is triggered before any application-declared
 exception handler is invoked.

 When an exception breakpoint is triggered, the debugger
 suspends execution and reports the exception condition.
 When you resume execution, the behavior is as follows:

  -  If you enter a Go command without specifying an
     address expression, the exception is resignaled,
     thus allowing any application-declared exception
     handler to execute.

  -  If you enter a Go command and specify an address
     expression, execution continues at the specified
     location, thus inhibiting the execution of any
     application-declared exception handler.

  -  If you enter a Step command, the debugger steps
     into any application-declared exception handler.
     If there is no application-declared handler for
     that exception, the debugger resignals the
     exception.

  -  If you enter a Call command, the routine specified
     is executed.  If a routine is called with the Call
     command directly after an exception breakpoint has
     been triggered, no breakpoints, tracepoints, or
     watchpoints set within that routine are triggered.
     However, they are triggered if the Call command is
     given at another time.

 When an exception tracepoint is triggered, the debugger
 reports the exception condition and resignals the
 exception, thus allowing any application-declared
 exception handler to execute.

every vecinst

=title 'every vector instruction' Option
=include debug Break_Dialog_Box within_calls_button
=include debug Break_Dialog_Box target
Note:  This option applies to vectorized programs.

 Causes the debugger to break on or trace every vector
 instruction encountered during program execution.

event

=title 'the specified event' Option
=include debug Break_Dialog_Box g_address_expression_field
=include debug Break_Dialog_Box target
Note:  This option applies to Ada and SCAN programs.
 See the VAX Ada and VAX SCAN documentation for complete
 information.

 Causes the debugger to break on or trace a specified
 event (if that event is defined and detected by the
 run-time system).

 You can specify an address expression (in the Address
 Expression field) for certain events.  In such cases,
 the debugger breaks or traces whenever the specified
 event occurs for that address expression.

activation

=title 'activation' Option
=include debug g_multiproc
=include debug Break_Dialog_Box target
Note:  This option applies to a multiprocess debugging
 configuration.

 Causes the debugger to break or trace when a new
 process comes under debugger control.

termination

=title 'termination' Option
=include debug Break_Dialog_Box target
Causes the debugger to break or trace when a process
 performs an image exit.

 Note that the debugger always gains control when the
 last image of a one-process or multiprocess program
 exits.

 A process is terminated when the image has executed the
 $EXIT system service and all of its exit handlers have
 executed.

g address expression field

=title Address Expression Field
=include debug g_selecting_code
=include debug g_specifying_code
=include debug g_intro_to_addrexpr
Enter a code address expression in this field (that is,
 an address expression that is associated with one or
 more VAX assembly-language instructions).

 You can fill this field automatically by selecting text
 in a window before opening the dialog box.

 Note:  If you specify a memory address or an address
 expression whose value is not a symbolic location,
 check that an instruction actually begins at the byte
 of memory so indicated.  Choose Examine Code...  from
 the Code submenu of the Data menu.

 If an instruction does not begin at this byte, a
 run-time error can occur when an instruction including
 that byte is executed.

 When you set a breakpoint or tracepoint by specifying
 an address expression whose value is not a symbolic
 location, the debugger does not verify that the
 specified location marks the beginning of an
 instruction.  CALLS and CALLG routines start with an
 entry mask.

g list box

=title Breakpoint/Tracepoint List Box
The list box identifies the breakpoints and tracepoints
 that are currently set.

 Some breakpoints and tracepoints are predefined when
 you invoke the debugger with certain kinds of programs
 (for example, Ada, multiprocess).  Predefined
 breakpoints and tracepoints are identified as such in
 the list box.

 If you established a breakpoint or tracepoint using the
 After field, the current value of the decimal integer N
 is displayed (that is, the originally specified integer
 value minus one for each time the breakpoint or
 tracepoint location was reached).  The debugger
 decrements N each time the breakpoint or tracepoint
 location is reached until the value of N is zero, when
 the debugger takes break or trace action.

g notification option menu

=title Notification Option Menu
The Notification option menu controls the debugger
 output that is displayed when the breakpoint or
 tracepoint is triggered.

 On, with source display (default):
    The "break..." or "trace..." message and the source
    line for the current location are displayed at the
    breakpoint or tracepoint.

 On, without source display:
    The "break..." or "trace.." message is displayed at
    the breakpoint or tracepoint, but the source line
    for the current location is not displayed.

 Off:
    Neither the "break..." or "trace..." message nor the
    source line for the current location are displayed
    at the breakpoint or tracepoint.

 Note that the default Notification option that is
 established for the Step command in the Step dialog box
 also affects the debugger output when any breakpoint,
 tracepoint, or watchpoint is triggered.  The
 Notification option you choose in the Break dialog box
 overrides the default established in the Step dialog
 box, but only for the breakpoint or tracepoint that you
 are setting.

g Condition field

=title Condition Field
Use this field to specify a conditional expression in
 the currently set language that is to be evaluated when
 execution reaches the breakpoint or tracepoint.

 If the expression is true, break or trace action
 occurs, and the debugger reports that a break or trace
 has occurred.  If the expression is false, break or
 trace action does not occur.  In this case, a report is
 not issued, any commands specified in the Action field
 are not executed, and program execution is continued.

g after passes field

=title After ___ Pass Field
Use this field to specify that break or trace action not
 be taken until the Nth time the designated breakpoint
 or tracepoint is encountered (after N passes).  Specify
 N as a decimal integer.  The default is 1.

 Thereafter, break or trace action occurs every time the
 breakpoint or tracepoint is encountered, provided that
 conditions in the Condition field (if specified) are
 true.

g action field

=title Action Field
=include debug g_cmd_mode
Use this field to specify one or more debugger commands
 to be executed when break or trace action is taken..
 Use semicolons (;) to separate command strings.

g instructions field

=title Instructions Field
=include debug Break_Dialog_Box within_calls_button
If you choose 'the specified instruction(s)' on the
 Target (upper-right) option menu, use this field to
 specify a list of one or more VAX instructions
 (opcodes), separated by commas.

 This causes the debugger to break on or trace every
 instruction whose opcode is specified in the list, if
 encountered during execution.

g event field

=title Event Field
Note:  This field applies to Ada and SCAN programs.  See
 the VAX Ada and VAX SCAN documentation for complete
 information.

 If you choose 'the specified event' on the Target
 (upper-right) option menu, use this field to specify an
 event for the debugger to break on or trace (if that
 event is defined and detected by the run-time system).

 You can specify an address expression (in the Address
 Expression field) for certain events.  In such cases,
 the debugger breaks or traces whenever the specified
 event occurs for that address expression.

within calls button

=title Within Called Routines Button
=include debug Break_Dialog_Box g_jsb_routines_button
=include debug Break_Dialog_Box g_shareable_routines_button
=include debug Break_Dialog_Box g_system_routines_button
This button applies only to breakpoints or tracepoints
 set on instructions or on every line---that is, when an
 address expression is not explicitly specified.

 Button on (default):
    Causes the debugger to break on or trace the
    specified points within called routines (as well as
    within the routine in which execution is currently
    suspended).

    When the button is on, you can further qualify the
    break or trace action within routines that are
    called by JSB instructions, routines in shareable
    images, or system service routines (by means of the
    corresponding buttons, which are displayed below
    this button).

 Button off:
    Causes the debugger to break on or trace the
    specified points only within the routine in which
    execution is currently suspended (not within called
    routines).

g jsb routines button

=title Within Routines Called by a JSB Instruction Button
=include debug Break_Dialog_Box within_calls_button
This button applies only to breakpoints or tracepoints
 set on instructions or on every line (that is, when an
 address expression is not explicitly specified) and
 only when the Within Called Routines button is on.

 Button on (default for all languages except DIBOL):
    Permits the debugger to break or trace within
    routines that are called by the JSB or CALL
    instruction.

 Button off (DIBOL default):
    Specifies that breakpoints or tracepoints not be set
    within routines called by JSB instructions.  In
    DIBOL, user-written routines are called by the CALL
    instruction and DIBOL run-time library routines are
    called by the JSB instruction.

g shareable routines button

=title Within Called Routines in Shareable Images Button
=include debug Break_Dialog_Box within_calls_button
This button applies only to breakpoints or tracepoints
 set on instructions or on every line (that is, when an
 address expression is not explicitly specified) and
 only when the Within Called Routines button is on.

 Button on (default):
    Permits the debugger to break or trace within
    shareable image routines as well as other routines.

 Button off:
    Specifies that breakpoints or tracepoints not be set
    within shareable images.

g system routines button

=title Within Called System Service Routines Button
=include debug Break_Dialog_Box within_calls_button
This button applies only to breakpoints or tracepoints
 set on instructions or on every line (that is, when an
 address expression is not explicitly specified) and
 only when the Within Called Routines button is on.

 Button on (default):
    Permits the debugger to break within system routines
    (P1 space) as well as other routines.

 Button off:
    Specifies that breakpoints not be set within system
    routines.

Call Dialog Box

=Title Call Dialog Box
=include debug g_call
=include debug g_vector
=include debug g_ok_apply_cancel_buttons
 Use the Call dialog box to execute a routine
 independently of the normal execution of the program.
 The routine must have been linked with your program,
 but the program does not need to include a call to the
 routine.

 To call a routine, proceed as follows:

 1.  Enter the routine name in the Routine field.

 2.  Specify the parameters to be passed during the
     routine call in the Parameters field.

 3.  For a vectorized program, choose whether or not to
     save the current vector state before the routine is
     executed.  The vector state will then be restored
     after the routine call.

 4.  Choose whether to enable or disable the delivery of
     asynchronous system traps during the execution of
     the routine.

 5.  Click on OK or Apply.

Additional information available:

behavior call dialogg routine fieldg parameters fieldg save vector state button
g asts enabled button

behavior call dialog

=title Behavior of Call Command
=include debug Call_Dialog_Box g_save_vector_state_button
=include debug Call_Dialog_Box g_asts_enabled_button
=include debug g_vector
=include debug g_call
When you use the debugger Call command to call a
 routine, the debugger takes the following action:

  -  Saves the current values of the VAX general
     registers.

  -  Constructs an argument list.

  -  Executes a call to the routine specified and passes
     any specified arguments.

  -  Executes the routine.

  -  Displays the value returned by the routine in
     register R0.  By VMS convention, after a called
     routine has executed, register R0 contains the
     function return value (if the routine is a
     function) or the procedure completion status (if
     the routine is a procedure that returns a status
     value).

     If a called procedure does not return a status
     value or function value, the value in R0 might be
     meaningless, and the "value returned" message can
     be ignored.

  -  Restores the values of the general registers to the
     values they had just before the call was executed.

 The debugger assumes that the called routine conforms
 to the VAX Procedure Calling Standard.  However, note
 that the debugger does not support all the
 argument-passing mechanisms for all supported
 languages.  Therefore, you might need to specify how to
 pass parameters---for example, use Call SUB1(%VAL X)
 rather than Call SUB1(X).  See your language
 documentation for complete information about how
 arguments are passed to routines.

 Note that, if you use the Call command to call a
 routine that modifies the value of a passed parameter
 and returns a new value, the returned value might be
 unreliable.

g routine field

=title Routine Field
=include debug g_specifying_code
=include debug g_selecting_code
Use this field to specify the name of the routine to be
 called.

 The technique for specifying a routine name or
 selecting a routine name from a window is the same as
 for a code address expression.

g parameters field

=title Parameters Field
Use this field to specify one or more parameters that
 are required by the routine.  When specifying several
 parameters, separate them with commas.

 You can pass parameters by address (the default), by
 descriptor, by reference, and by value.  You specify
 the passing mode by preceding the parameter with one of
 the built-in symbols %ADDR, %DECR, %REF, and %VAL,
 respectively, as follows:

  -  To pass the parameter by address (default), use the
     following format:

         %ADDR address-expression

     The debugger evaluates the address expression and
     passes that address to the routine specified.  For
     simple variables (such as X), the address of X is
     passed into the routine.  This passing mechanism
     corresponds to the way FORTRAN implements
     ROUTINE(X).  In other words, for named variables,
     using %ADDR corresponds to a call by reference in
     FORTRAN.

     For other expressions, however, you must pass the
     parameter by reference.  For complex or structured
     variables (such as arrays, records, and access
     types), the address is passed when you specify
     %ADDR, but the called routine might not handle the
     passed data properly.  Do not specify a literal
     value (a number or an expression composed of
     numbers) when using %ADDR.


  -  To pass the parameter by descriptor, use the
     following format:

         %DESCR language-expression

     The debugger evaluates the language expression and
     builds a VAX-standard descriptor to describe the
     value.  The descriptor is then passed to the
     routine you named.  You might use this technique to
     pass strings to a FORTRAN routine.


  -  To pass the parameter by reference, use the
     following format:

         %REF language-expression

     The debugger evaluates the language expression and
     passes a pointer to the value, into the called
     routine.  This passing mechanism corresponds to the
     way FORTRAN passes the result of an expression.


  -  To pass the parameter by value, use the following
     format:

         %VAL language-expression

     The debugger evaluates the language expression and
     passes the value directly to the called routine.

g save vector state button

=title Save Vector State Button
=include debug Cust_Menu_Misc_Setting_Button
=include debug g_vector
Note:  This feature applies to vectorized programs.

 Button on:
    The state of the vector processor that exists before
    the routine is called is restored by the debugger
    after the routine has completed execution.  This
    ensures that, after the routine has completed
    execution:

     -  Any vector exception that was pending delivery
        before the routine call is still pending
        delivery

     -  No vector exception that was triggered during
        the routine call is still pending delivery

     -  The values of the vector registers are identical
        to their values before the routine call

 Button off (default):
    The state of the vector processor that exists before
    the routine call is not restored by the debugger
    after the routine has completed execution.  In this
    case, the state of the vector processor after the
    routine call depends on the effect (if any) of the
    called routine.

 The state of the Save Vector State button has no effect
 on the VAX general registers.  The values of these
 registers are always saved and restored when you
 execute a routine by choosing Call...  from the Control
 menu.

Additional information available:

g vector state

g vector state

=title State of Vector Processor, Defined
=include debug g_vector
 The state of the vector processor comprises the
 following:

  -  The values of the vector registers (V0 to V15) and
     the vector control registers (VCR, VLR, and VMR)

  -  Any vector exception (an exception caused by the
     execution of a vector instruction) that might be
     pending delivery

 When you choose Call...  from the Control menu to
 execute a routine, execution of the routine might
 change the state of the vector processor as follows:

  -  By changing the values of vector registers or
     vector control registers

  -  By causing a vector exception

  -  By causing the delivery of a vector exception that
     was pending when the routine was called

g asts enabled button

=title ASTs Enabled During Execution Button
=include debug Cust_Menu_Misc_Setting_Button
Button on (default):
    The delivery of asynchronous system traps (ASTs) is
    enabled during the execution of the called routine.
    Note that the delivery of ASTs is enabled if, and
    only if, delivery was enabled before the Call
    command was entered.

 Button off:
    The delivery of ASTs is disabled during the
    execution of the called routine.

Callstk Dialog Box

=Title Call Stack Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug Scopes_Status_L_Button
=include debug g_symb_mod_set
=include debug Data_Menu_Modules_Button
Use the Call Stack dialog box to display information
 about the call frames that are currently active on the
 routine call stack.

 Proceed as follows:

  -  Choose 'Show calls by routine name' from the option
     menu to determine the sequence of routine calls
     leading to the point at which execution is
     currently suspended.

  -  Choose 'Show calls by call frame' to display more
     detailed information about each call frame.

  -  Click on the Depth scale to specify the number of
     call frames to display.

  -  Click on OK or Apply.

 Whenever a call is made to a routine during program
 execution, the VMS operating system creates a separate
 call frame on the stack.  Each call frame stores
 information about the calling routine.  The call frame
 for the most recently called routine is on the top of
 the stack.

 When a routine returns execution to its caller, the
 call frame for that routine is removed from the stack.

Additional information available:

calls by namecalls by frameg depth scale

calls by name

=title Show calls by routine name
=include debug Callstk_Dialog_Box calls_by_frame
=include debug Scopes_Status_L_Button
=include debug Data_Menu_Modules_Button
This option identifies the currently active routines on
 the call stack, to the depth specified by the Depth
 scale on the dialog box.

 The Show calls by routine name option shows a traceback
 that lists the sequence of active routine calls that
 lead to the routine in which execution is currently
 suspended.  Any recursive routine calls are shown in
 the display, so you can use this feature to examine the
 chain of recursion.

 One line of information is displayed for each call
 frame, starting with the most recent call.  The top
 line identifies the currently executing routine, the
 next line identifies its caller, the following line
 identifies the caller of the caller, and so on.

 The following information is provided for each call
 frame:

  -  The name of the enclosing module.  An asterisk (*)
     to the left of a module name indicates that the
     module is set.

  -  The name of the calling routine, provided the
     module is set.  The first line shows the currently
     executing routine.

  -  The line number where the call was made in that
     routine, provided the module is set.  The first
     line shows the line number at which execution is
     suspended.

  -  The value of the PC (program counter) in the
     calling routine at the time that control was
     transferred to the called routine.  The PC value is
     shown as a memory address relative to the address
     of the name of the routine and also as an absolute
     address.

 Note that, even if your program contains no routine
 calls, an active call is displayed.  The reason for
 this is that your program has a stack frame built for
 it when it is first activated.  Thus, if no active
 calls are displayed, either your program has terminated
 or the stack has been corrupted.

calls by frame

=title Show calls by call frame
=include debug Callstk_Dialog_Box calls_by_name
=include debug Scopes_Status_L_Button
This option displays detailed information from the
 current call stack, for the call frames specified with
 the Depth scale.

 The information displayed for each call frame includes
 the condition handler, saved register values, and the
 argument list, if any.

 The latter is the list of arguments passed to the
 subroutine with that call.  In some cases the argument
 list can contain the addresses of actual arguments.  In
 such cases, choose Examine Address or Register...  from
 the Addresses or Registers submenu of the Data menu to
 display the values of these arguments.

g depth scale

=title Depth Scale
Click on the Depth scale to specify the number of call
 frames to display.

Datatype Dialog Box

=Title Datatype Defaults Dialog Box
=include debug g_ok_apply_cancel_buttons
Use the Datatype Defaults dialog box to establish a
 default type for memory addresses and registers that
 are not associated with a compiler-generated type.
 Addresses or registers that are associated with a
 compiler-generated type (locations that have a symbolic
 name) are not affected.

 Proceed as follows:

 1.  Set the Default Datatype option menu to the default
     type to be established (for example, byte integer,
     ASCII, and so on).

 2.  Click on OK or Apply.

 By default, the debugger associates the type longword
 integer with locations that do not have a
 compiler-generated type.  This means that, for example,
 if you specify an address that does not have a symbolic
 name in the Examine Address or Register dialog box, the
 debugger displays the contents of 4 bytes starting at
 the address specified and formats the displayed
 information as an integer value.

 To determine whether a program location is associated
 with a compiler-generated type, choose Addresses or
 Registers from the Data menu, then choose Symbolize
 Address or Register...  from the submenu.

 The following dialog boxes have option menus that
 enable you to override the default type, but only for
 one command:

  -  Examine Variable, Deposit into Variable (choose
     Variables from the Data menu).

  -  Examine Address or Register, Deposit into Address
     or Register (choose Addresses or Registers from the
     Data menu).

Additional information available:

optionlengthuser

option

=title Default Datatype Option Menu
Use the Default Datatype option menu to establish a
 default type.

Additional information available:

ASCICASCIDASCII

asciwascizbyted floatdate timefloatg float
h floatinstructionlongwordoctawordpackedquadworduser
word

ASCIC

=title ASCIC option
=include debug Datatype_Dialog_Box option
Sets the default type to counted ASCII string with a
 1-byte count field that precedes the string and gives
 its length.  AC is also accepted as a keyword.

ASCID

=title ASCID Option
=include debug Datatype_Dialog_Box option
Sets the default type to ASCII string descriptor.  The
 CLASS and DTYPE fields of the descriptor are not
 checked, but the LENGTH and POINTER fields provide the
 character length and address of the ASCII string.  The
 string is then displayed.  AD is also accepted as a
 keyword.

ASCII

=title ASCII Option
=include debug Datatype_Dialog_Box length
=include debug Datatype_Dialog_Box option
Sets the default type to ASCII character string.  You
 specify the length of the string (the number of bytes
 or characters) in the Length field, in decimal radix.
 If you do not specify a length, the default value is 4
 bytes.

asciw

=title ASCIW Option
=include debug Datatype_Dialog_Box option
Sets the default type to counted ASCII string with a
 2-byte count field that precedes the string and gives
 its length.  This data type occurs in Pascal and PL/I.
 AW is also accepted as a keyword.

asciz

=title ASCIZ Option
=include debug Datatype_Dialog_Box option
Sets the default type to zero-terminated ASCII string.
 The ending zero byte indicates the end of the string.
 AZ is also accepted as a keyword.

byte

=title BYTE Option
=include debug Datatype_Dialog_Box option
Sets the default type to byte integer (length 1 byte).

d float

=title D_FLOAT Option
=include debug Datatype_Dialog_Box option
Sets the default type to D_floating (length 8 bytes).
 Values of type D_ floating can range from .29 * 1038 to
 1.7 * 108 with approximately 16 decimal digits
 precision.

date time

=title DATE_TIME Option
=include debug Datatype_Dialog_Box option
Sets the default type to date-time.  This is a quadword
 integer (length 8 bytes) containing the internal VMS
 representation of date-time.  Values are displayed in
 the format dd-mmm-yyyy hh:mm:ss.xx.  Specify an
 absolute date and time as follows:

   [dd-mmm-yyyy[:]] [hh:mm:ss.cc]

float

=title FLOAT Option
=include debug Datatype_Dialog_Box option
Sets the default type to F_floating (length 4 bytes).
 Values of type F_ floating can range from .29 * 1038 to
 1.7 * 108 with approximately 7 decimal digits
 precision.

g float

=title G_FLOAT Option
=include debug Datatype_Dialog_Box option
Sets the default type to G_floating (length 8 bytes).
 Values of type G_ floating can range from .56 * 10308
 to .9 * 1008 with approximately 15 decimal digits
 precision.

h float

=title H_FLOAT Option
=include debug Datatype_Dialog_Box option
Sets the default type to H_floating (length 16 bytes).
 Values of type H_ floating can range from .84*10 -4932
 to .59*10 4932 with approximately 33 decimal digits
 precision.

instruction

=title INSTRUCTION Option
=include debug Datatype_Dialog_Box option
Sets the default type to VAX instruction
 (variable-length, depending on the number of
 instruction operands and the kind of addressing modes
 used).

longword

=title LONGWORD Option
=include debug Datatype_Dialog_Box option
Sets the default type to longword integer (length 4
 bytes).  This is the default type for program locations
 that do not have a symbolic name (do not have a
 compiler-generated type).

octaword

=title OCTAWORD Option
=include debug Datatype_Dialog_Box option
Sets the default type to octaword integer (length 16
 bytes).

packed

=title PACKED option
=include debug Datatype_Dialog_Box length
=include debug Datatype_Dialog_Box option
Sets the default type to packed decimal.  You specify
 the number of decimal digits in the Length field.  Each
 digit occupies one nibble (4 bits).

quadword

=title QUADWORD Option
=include debug Datatype_Dialog_Box option
Sets the default type to quadword integer (length 8
 bytes).

user

=title User Defined Option
=include debug Datatype_Dialog_Box user
=include debug Datatype_Dialog_Box option
Sets the default type to the type specified in the User
 Type field (a variable or data type declared in the
 program).  This enables you to specify an
 application-declared type.

word

=title WORD Option
=include debug Datatype_Dialog_Box option
Sets the default type to word integer (length 2 bytes).

length

=title Length Field
=include debug Datatype_Dialog_Box option ascii
=include debug Datatype_Dialog_Box option packed
If you choose ASCII on the Default Datatype option menu,
 use this field to specify the number of bytes (ASCII
 characters) to be associated with this ASCII type.  The
 default value is 4.

 If you choose PACKED on the Default Datatype option
 menu, use this field to specify the number of decimal
 digits to be associated with this PACKED type.  The
 default value is 4.

user

=title User Type Field
=include debug Datatype_Dialog_Box option user
If you choose User Defined on the Default Datatype
 option menu, use this field to specify the type.  You
 can specify a type or variable that is declared in your
 program.

Dep Addr Dialog Box

=Title Deposit Into Address or Register Dialog Box
=include debug g_ok_apply_cancel_buttons
Use this dialog box to deposit a value of a specified
 type at a memory address or into a register.  Proceed
 as follows:

 1.  Enter the address or the register symbol in the
     Address or Register field.

 2.  Set the Target Datatype option menu to the type of
     the value to be deposited (for example, byte
     integer, ASCII, and so on).

 3.  Enter the value to be deposited in the Language
     Expression field.

 4.  Click on OK or Apply.

 Note that the Deposit into Address or Register dialog
 box overrides a variable's compiler-generated type,
 using the type specified on the Target Datatype option
 menu.  To assign a value to a variable declared in your
 program, choose Variables from the Data menu, then
 choose Deposit into Variable....  from the Variables
 submenu.

Additional information available:

g deposit addregg addreg fieldg language expression fieldtargetlength
user

g deposit addreg

=title Depositing Values into Addresses and Registers
=include debug Addr_Menu_Deposit_Button
=include debug g_langexpr
=include debug g_vector
=include debug g_vector
=include debug Examine_Status_L_Button
=include debug Dep_Addr_Dialog_Box
 To deposit a value at a memory address or into a
 register, choose Addresses or Registers from the Data
 menu, then choose Deposit into Address or Register...
 from the submenu.  A dialog box is displayed.

 When you deposit a value at an address or register, the
 debugger takes the following action:

 1.  Evaluates the language expression specified in the
     Language Expression field of the dialog box in the
     syntax of the current language and in the current
     radix to yield a value.

 2.  Checks that the value and type of the language
     expression is consistent with the type specified on
     the Target Datatype menu.  If you try to deposit a
     value that is incompatible, the debugger issues a
     diagnostic message.  If the value is compatible,
     the debugger deposits the value at the location
     specified in the Address or Register field.  This
     updates the Current Entity field in the main
     window.

 The debugger might do type conversion during a deposit
 operation if the language rules allow it.  For example
 a real value that is specified in the Language
 Expression field might be converted to an integer value
 if an integer type was chosen on the Target Datatype
 option menu.  In general, the debugger tries to follow
 the assignment rules for the current language.

g addreg field

=title Address or Register Field
=include debug Examine_Status_L_Button
=include debug g_intro_to_addrexpr
=include debug g_vector
To specify a memory address, enter an integer in the
 current radix.

 To specify a VAX register, enter a percent sign
 followed by the name of the register.  For example,
 enter %R2 to specify register R2, enter %PC to specify
 the PC register.

 You can also specify a byte offset from an address,
 register, or symbolic address expression.

 In addition, you can specify a debugger built-in symbol
 such as the period (.) or %NEXTLOC in this field.

g language expression field

=title Language Expression Field
=include debug g_langexpr
Use this field to specify the value to be deposited at
 the specified location.  You can specify any expression
 that is valid in the current language.

 For most languages, the expression can include the
 names of a simple (single-valued) variable but not the
 name of an aggregate variable (such as an array or
 record).  If the expression contains symbols with
 different compiler-generated types, the debugger uses
 the rules of the current language to evaluate the
 expression.

 If the expression is an ASCII string, you must enclose
 it in quotation marks (") or apostrophes (').  If the
 string contains quotation marks or apostrophes, use the
 other delimiter to enclose the string.  If the string
 has more characters (1-byte ASCII) than are specified
 in the Length field, the debugger truncates the extra
 characters from the right.  If the string has fewer
 characters, the debugger pads the remaining characters
 to the right of the string by inserting ASCII space
 characters.

target

=title Target Datatype Option Menu
Use the Target Datatype option menu to specify the type
 of the language expression to be deposited at the
 specified location (address or register).

 For example, if you choose the ASCII option, you can
 then deposit an ASCII string value at the specified
 location.

 The default type for depositing into an address or
 register is LONGWORD (longword integer), unless another
 default type was previously established by choosing
 Datatype Defaults...  from the Customize menu.  The
 current default type is shown on the Target Datatype
 option menu when you open the Deposit into Address or
 Register dialog box.

Additional information available:

ASCIDASCII

ascicasciwascizbyted floatdate timefloat
g floath floatlongwordoctawordpackedquadworduser
word

ascic

=title ASCIC Option
=include debug Dep_Addr_Dialog_Box target
Deposits a counted ASCII string into the specified
 location.  You must specify a string in the Language
 Expression field.  The deposited string is preceded by
 a 1-byte count field that gives the length of the
 string.

ASCID

=title ASCID Option
=include debug Dep_Addr_Dialog_Box target
Deposits an ASCII string into the address given by a
 string descriptor that is at the specified location.
 You must specify a string in the Language Expression
 field.  The specified location must contain a string
 descriptor.  If the string lengths do not match, the
 string is either truncated on the right or padded with
 space characters on the right.

ASCII

=title ASCII Option
=include debug Dep_Addr_Dialog_Box length
=include debug Dep_Addr_Dialog_Box target
Deposits an ASCII string into the specified location.
 You must specify a string in the Language Expression
 field.

 You can specify the length of the string (number of
 characters or bytes) by entering a decimal integer in
 the Length field.  If the actual length of the string
 is not as specified in the Length field, the string is
 truncated or padded with space characters on the right.

 If you do not specify a length, the actual length of
 the data item at the specified location is used.

asciw

=title ASCIW Option
=include debug Dep_Addr_Dialog_Box target
Deposits a counted ASCII string into the specified
 location.  You must specify a string in the Language
 Expression field.  The deposited string is preceded by
 a 2-byte count field that gives the length of the
 string.

asciz

=title ASCIZ Option
=include debug Dep_Addr_Dialog_Box target
Deposits a zero-terminated ASCII string into the
 specified location.  You must specify a string in the
 Language Expression field.  The deposited string is
 terminated by a zero byte that indicates the end of the
 string.

byte

=title BYTE Option
=include debug Dep_Addr_Dialog_Box target
Deposits a 1-byte integer into the specified location.

d float

=title D_FLOAT Option
=include debug Dep_Addr_Dialog_Box target
Converts the specified language expression to the
 D_floating type (length 8 bytes) and deposits the
 result into the specified location.  Values of type
 D_floating can range from .29*10 -38 to 1.7*10 +38 with
 approximately 16 decimal digits precision.

date time

=title DATE_TIME Option
=include debug Dep_Addr_Dialog_Box target
Converts a string representing a date and a time (for
 example, 19-APR-1989 21:08:47.15) to the VMS internal
 format for the date and time and deposits that value
 (length 8 bytes) into the specified location.  Specify
 an absolute date and time in the following format:

   [dd-mmm-yyyy[:]] [hh:mm:ss.cc]

float

=title FLOAT Option
=include debug Dep_Addr_Dialog_Box target
Converts the specified language expression to the
 F_floating type (length 4 bytes) and deposits the
 result into the specified location.  Values of
 F_floating type can range from .29*10 -38 to 1.7*10 +38
 with approximately 7 decimal digits precision.

g float

=title G_FLOAT Option
=include debug Dep_Addr_Dialog_Box target
Converts the specified language expression to the
 G_floating type (length 8 bytes) and deposits the
 result into the specified location.  Values of type
 G_floating can range from .56*10 -308 to .9*10 +308
 with approximately 15 decimal digits precision.

h float

=title H_FLOAT Option
=include debug Dep_Addr_Dialog_Box target
Converts the specified language expression to the
 H_floating type (length 16 bytes) and deposits the
 result into the specified location.  Values of type
 H_floating can range from .84*10 -4932 to .59*10 +4932
 with approximately 33 decimal digits precision.

longword

=title LONGWORD Option
=include debug Dep_Addr_Dialog_Box target
Deposits a longword integer (length 4 bytes) into the
 specified location.

octaword

=title OCTAWORD Option
=include debug Dep_Addr_Dialog_Box target
Deposits an octaword integer (length 16 bytes) into the
 specified location.

packed

=title PACKED Option
=include debug Dep_Addr_Dialog_Box length
=include debug Dep_Addr_Dialog_Box target
Converts the specified language expression to a packed
 decimal representation and deposits the resulting value
 into the specified location.

 You specify the number of decimal digits by entering a
 decimal integer in the Length field.  Each digit
 occupies one nibble (4 bits).

quadword

=title QUADWORD Option
=include debug Dep_Addr_Dialog_Box target
Deposits a quadword integer (length 8 bytes) into the
 specified location.

user

=title User Defined Option
=include debug Dep_Addr_Dialog_Box user
=include debug Dep_Addr_Dialog_Box target
Converts the specified language expression to a
 user-defined type, then deposits the resulting value
 into the specified location.

 You specify the type by entering the name of a type or
 variable that is declared in your program in the User
 Type field.

word

=title WORD Option
=include debug Dep_Addr_Dialog_Box target
Deposits a word integer (length 2 bytes) into the
 specified location.

length

=title Length Field
=include debug Dep_Addr_Dialog_Box target ascii
=include debug Dep_Addr_Dialog_Box target packed
If you choose ASCII on the Target Datatype option menu,
 use this field to specify the number of bytes (ASCII
 characters) to be deposited.  Enter a decimal integer.

 If you choose PACKED on the Default Datatype option
 menu, use this field to specify the number of decimal
 digits to be deposited.

user

=title User Type Field
=include debug Dep_Addr_Dialog_Box target user
If you choose User Defined on the Target Datatype option
 menu, use this field to specify the type.  You can
 specify a type or variable that is declared in your
 program.

Dep Code Dialog Box

=Title Deposit Code Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug Ex_Code_Dialog_Box g_display_instructions
=include debug Examine_Status_L_Button
Use the Deposit Code dialog box to deposit a VAX
 assembly-language instruction at the location denoted
 by an address expression.

 Typically, the address expression is one that is
 already associated with code (one or more VAX
 instructions).  Routine names, program labels, and line
 numbers are symbolic address expressions that are
 associated with code.

 Proceed as follows:

 1.  Enter the address expression in the Address
     Expression field.

 2.  Enter the VAX instruction in the Instruction field.

 3.  Click on OK or Apply.

Additional information available:

g deposit codeg addrexp fieldg instruction field

g deposit code

=title Depositing VAX Assembly-Language Instructions
=include debug Code_Menu_Deposit_Button
=include debug Examine_Status_L_Button
=include debug g_selecting_code
=include debug g_specifying_code
=include debug Dep_Code_Dialog_Box
 To deposit an instruction at a memory address or into a
 register, choose Code from the data menu, then choose
 Deposit Code...  from the Code submenu.  A dialog box
 is displayed.

 When you deposit an instruction, the debugger takes the
 following action:

 1.  Checks that the entity specified in the Instruction
     field of the dialog box is a valid VAX
     assembly-language instruction.

 2.  If you try to deposit an invalid instruction, the
     debugger issues a diagnostic message.  If the
     entity specified is a valid instruction, the
     debugger deposits the instruction starting at the
     address or register denoted by the specified
     address expression.  This updates the Current
     Entity field in the main window.

 VAX instructions occupy different numbers of bytes,
 depending on their operands.  When depositing
 instructions of arbitrary lengths into successive
 memory locations, use the Current Entity arrow keys to
 establish the next unoccupied location where an
 instruction can be deposited.

 When you replace an instruction, be sure that the new
 instruction, including operands, is the same length in
 bytes as the old instruction.  If the new instruction
 is longer, you cannot deposit it without overwriting,
 and thereby destroying, the next instruction.  If the
 new instruction occupies fewer bytes of memory than the
 old one, you must deposit NOP instructions
 (instructions that cause "no operation") in bytes of
 memory left unoccupied after the replacement.

 The debugger does not warn you if an instruction you
 are depositing overwrites a subsequent instruction, nor
 does it remind you to fill in vacant bytes of memory
 with NOPs.

g addrexp field

=title Address Expression Field
=include debug g_selecting_code
=include debug g_specifying_code
=include debug g_intro_to_addrexpr
Use this field to enter an address expression that
 denotes the location at which the instruction is to be
 deposited.

 For example, %LINE 14+8 denotes the memory address that
 is 8 bytes beyond the start of line 14.

 You can fill this field automatically by selecting text
 in a window before opening the dialog box.

g instruction field

=title Instruction Field
Use this field to specify the VAX assembly-language
 instruction to be deposited.  For example, you can
 select an instruction from a window and copy it to the
 Instruction field.

Dep Vbl Dialog Box

=Title Deposit into Variable Dialog Box
=include debug g_ok_apply_cancel_buttons
Use the Deposit into Variable dialog box to assign a new
 value to a variable that is declared in your program.
 Proceed as follows:

 1.  Enter the variable name in the Variable field.

     Or, before opening the dialog box, select the
     variable name in a window.  The name is
     automatically inserted in the Variable field.

 2.  Enter the value to be assigned to the variable in
     the Language Expression field.

 3.  Click on OK or Apply.

Additional information available:

g deposit varg var fieldg language expression fieldtargetlengthuser

g deposit var

=title Depositing (Assigning Values) Into Variables
=include debug Vbls_Menu_Deposit_Button
=include debug g_langexpr
=include debug g_specifying_variables
=include debug Examine_Status_L_Button
=include debug Dep_Vbl_Dialog_Box
 To deposit (assign) a value into a variable, choose
 Variables from the Data menu, then choose Deposit into
 Variable...  from the Variables submenu.  A dialog box
 is displayed.

 When you deposit a value into a variable, the debugger
 takes the following action:

 1.  Associates the name specified in the Variable field
     of the dialog box with a memory address or register
     and with the compiler-generated type for that
     variable (integer, real, string, array, record, and
     so on).

 2.  Evaluates the language expression specified in the
     Language Expression field in the syntax of the
     current language and in the current radix to yield
     a value.

 3.  Checks that the value and type of the language
     expression is consistent with the type of the
     variable.  If you try to deposit a value that is
     incompatible with the type of the variable, the
     debugger issues a diagnostic message.  If the value
     is compatible, the debugger deposits the value into
     the location denoted by the variable name.  This
     updates the Current Entity field in the main
     window.

 The debugger might do type conversion during a deposit
 operation if the language rules allow it.  For example,
 a real value that is specified in the Language
 Expression field might be converted to an integer value
 if it is being assigned to a variable with an integer
 type.  In general, the debugger tries to follow the
 assignment rules for the current language.

 You cannot deposit a value into an entire aggregate
 variable (a composite data structure such as an array
 or record).  To specify an individual array element or
 a record component, use the syntax of the source
 language.  For example, ARR[4] could denote element 4
 of array ARR in some languages.

 You can override the compiler-generated type of a
 variable and deposit a value of another type at the
 location denoted by a variable name.  To do so, choose
 the type on the Target Datatype option menu.

g var field

=title Variable Field
=include debug g_selecting_variables
=include debug g_specifying_variables
Specify any of the following in this field, observing
 the syntax of the source language:

  -  For an integer, real, Boolean, or any other
     noncomposite type, specify the variable name.

  -  For an array, record, or any other composite type,
     specify only an individual element.  Do not specify
     the entire aggregate.

 For example, ARR[4] could denote element 4 of array ARR
 in some languages.

 You can fill this field automatically by selecting text
 in a window before opening the dialog box.

g language expression field

=title Language Expression Field
=include debug g_langexpr
Use this field to specify the new value to be assigned
 to the variable.  You can specify any expression that
 is valid in the current language.

 For most languages, the expression can include the name
 of a simple (single-valued) variable but not the name
 of an aggregate variable (such as an array or record).
 If the expression contains symbols with different
 compiler-generated types, the debugger uses the rules
 of the current language to evaluate the expression.

 If the expression is an ASCII string, you must enclose
 it in quotation marks (") or apostrophes (').  If the
 string contains quotation marks or apostrophes, use the
 other delimiter to enclose the string.  If the string
 has more characters (1-byte ASCII) than are specified
 in the Length field, the debugger truncates the extra
 characters from the right.  If the string has fewer
 characters, the debugger pads the remaining characters
 to the right of the string by inserting ASCII space
 characters.

target

=title Target Datatype Option Menu
Use the Target Datatype option menu to override the
 compiler-generated type associated with a variable.
 This enables you to deposit data of another type into
 the program location (address or register) that is
 denoted by the variable name.

 For example, if you choose the ASCII option, you can
 then deposit an ASCII string value at the specified
 location.

 The Compiler Generated option causes the debugger to
 associate the location denoted by a variable name with
 the compiler-generated type for that variable.

 If the Target Datatype option menu is not set to
 Compiler Generated when you open the Deposit into
 Variable dialog box, then a default override type (of
 the type indicated on the menu) is in effect.  A
 default override type is established when you enter a
 SET TYPE/OVERRIDE command in the COMMAND box.

 See the Compiler Generated Option additional topic for
 complete information about that option.  The topic
 describes the effect of previously establishing a
 default type through the Datatype Defaults dialog box
 (Customize menu) or the SET TYPE/OVERRIDE command.

Additional information available:

ASCIDASCII

ascicasciwascizbytedefaultd floatdate time
floatg floath floatlongwordoctawordpackedquadword
userword

ascic

=title ASCIC Option
=include debug Dep_Vbl_Dialog_Box target
Deposits a counted ASCII string into the specified
 location.  You must specify a string in the Language
 Expression field.  The deposited string is preceded by
 a 1-byte count field that gives the length of the
 string.

ASCID

=title ASCID Option
=include debug Dep_Vbl_Dialog_Box target
Deposits an ASCII string into the address given by a
 string descriptor that is at the specified location.
 You must specify a string in the Language Expression
 field.  The specified location must contain a string
 descriptor.  If the string lengths do not match, the
 string is either truncated on the right or padded with
 space characters on the right.

ASCII

=title ASCII Option
=include debug Dep_Vbl_Dialog_Box length
=include debug Dep_Vbl_Dialog_Box target
Deposits an ASCII string into the specified location.
 You must specify a string in the Language Expression
 field.

 You can specify the length of the string (number of
 characters or bytes) by entering a decimal integer in
 the Length field.  If the actual length of the string
 is not as specified in the Length field, the string is
 truncated or padded with space characters on the right.

 If you do not specify a length, the actual length of
 the data item at the specified location is used.

asciw

=title ASCIW Option
=include debug Dep_Vbl_Dialog_Box target
Deposits a counted ASCII string into the specified
 location.  You must specify a string in the Language
 Expression field.  The deposited string is preceded by
 a 2-byte count field that gives the length of the
 string.

asciz

=title ASCIZ Option
=include debug Dep_Vbl_Dialog_Box target
Deposits a zero-terminated ASCII string into the
 specified location.  You must specify a string in the
 Language Expression field.  The deposited string is
 terminated by a zero byte that indicates the end of the
 string.

byte

=title BYTE Option
=include debug Dep_Vbl_Dialog_Box target
Deposits a 1-byte integer into the specified location.

default

=title Compiler Generated Option
=include debug Dep_Vbl_Dialog_Box target
This option is the default.  It directs the debugger to
 associate the location (address or register) denoted by
 a variable name with the compiler-generated type for
 that variable.

 If the Target Datatype option menu is not set to
 Compiler Generated when you open the Deposit into
 Variable dialog box, then a default override type (of
 the type indicated on the menu) is in effect.  A
 default override type is established when you enter a
 SET TYPE/OVERRIDE command in the COMMAND box.

 In such cases, the Compiler Generated option is dimmed,
 and you cannot restore the compiler-generated type
 using this option.  To restore the compiler-generated
 type, enter the command CANCEL TYPE/OVERRIDE in the
 COMMAND box.

d float

=title D_FLOAT Option
=include debug Dep_Vbl_Dialog_Box target
Converts the specified language expression to the
 D_floating type (length 8 bytes) and deposits the
 result into the specified location.  Values of type
 D_floating can range from .29*10 -38 to 1.7*10 +38 with
 approximately 16 decimal digits precision.

date time

=title DATE_TIME Option
=include debug Dep_Vbl_Dialog_Box target
Converts a string representing a date and a time (for
 example, 19-APR-1989 21:08:47.15) to the VMS internal
 format for the date and time and deposits that value
 (length 8 bytes) into the specified location.  Specify
 an absolute date and time in the following format:

   [dd-mmm-yyyy[:]] [hh:mm:ss.cc].

float

=title FLOAT Option
=include debug Dep_Vbl_Dialog_Box target
Converts the specified language expression to the
 F_floating type (length 4 bytes) and deposits the
 result into the specified location.  Values of
 F_floating type can range from .29*10 -38 to 1.7*10 +38
 with approximately 7 decimal digits precision.

g float

=title G_FLOAT Option
=include debug Dep_Vbl_Dialog_Box target
Converts the specified language expression to the
 G_floating type (length 8 bytes) and deposits the
 result into the specified location.  Values of type
 G_floating can range from .56*10 -308 to .9*10 +308
 with approximately 15 decimal digits precision.

h float

=title H_FLOAT Option
=include debug Dep_Vbl_Dialog_Box target
Converts the specified language expression to the
 H_floating type (length 16 bytes) and deposits the
 result into the specified location.  Values of type
 H_floating can range from .84*10 -4932 to .59*10 +4932
 with approximately 33 decimal digits precision.

longword

=title LONGWORD Option
=include debug Dep_Vbl_Dialog_Box target
Deposits a longword integer (length 4 bytes) into the
 specified location.

octaword

=title OCTAWORD Option
=include debug Dep_Vbl_Dialog_Box target
Deposits an octaword integer (length 16 bytes) into the
 specified location.

packed

=title PACKED Option
=include debug Dep_Vbl_Dialog_Box length
=include debug Dep_Vbl_Dialog_Box target
Converts the specified language expression to a packed
 decimal representation and deposits the resulting value
 into the specified location.

 You specify the number of decimal digits by entering a
 decimal integer in the Length field.  Each digit
 occupies one nibble (4 bits).

quadword

=title QUADWORD Option
=include debug Dep_Vbl_Dialog_Box target
Deposits a quadword integer (length 8 bytes) into the
 specified location.

user

=title User Defined Option
=include debug Dep_Vbl_Dialog_Box user
=include debug Dep_Vbl_Dialog_Box target
Converts the specified language expression to a
 user-defined type, then deposits the resulting value
 into the specified location.

 You specify the type by entering the name of a type or
 variable that is declared in your program in the User
 Type field.

word

=title WORD Option
=include debug Dep_Vbl_Dialog_Box target
Deposits a word integer (length 2 bytes) into the
 specified location.

length

=title Length Field
=include debug Dep_Vbl_Dialog_Box target ascii
=include debug Dep_Vbl_Dialog_Box target packed
If you choose ASCII on the Target Datatype option menu,
 use this field to specify the number of bytes (ASCII
 characters) to be deposited.  Enter a decimal integer.

 If you choose PACKED on the Default Datatype option
 menu, use this field to specify the number of decimal
 digits to be deposited.

user

=title User Type Field
=include debug Dep_Vbl_Dialog_Box target user
If you choose User Defined on the Target Datatype option
 menu, use this field to specify the type.  You can
 specify a type or variable that is declared in your
 program.

Ex Addr Dialog Box

=Title Examine Address or Register Dialog Box
=include debug g_ok_apply_cancel_buttons
Use this dialog box to display the current value stored
 at a memory address or in a register.  You can display
 the contents of any memory address or register that is
 accessible in your program.

 Proceed as follows:

 1.  Enter a memory address or a register symbol in the
     Address or Register field.

 2.  To interpret and display the entity at that
     location according to a particular type, choose
     that type on the Target Datatype option menu.

 3.  Click on OK or Apply to display the value in the
     output window.

Additional information available:

g examine addregg addreg fieldtargetlengthusermask
g radix option menug display button

g examine addreg

=title Examining the Contents of Addresses or Registers
=include debug Addr_Menu_Examine_Button
=include debug Ex_Addr_Dialog_Box target
=include debug Ex_Addr_Dialog_Box mask
=include debug g_vector
=include debug Examine_Status_L_Button
=include debug examine_button
=include debug The_Popup_Menu g_examine
=include debug Ex_Addr_Dialog_Box
 To examine the contents of a memory address or
 register, choose Addresses or Registers from the Data
 menu, then choose Examine Address or Register...  from
 the submenu.  A dialog box is displayed.

 When you examine an arbitrary address or register and
 the Target Datatype option menu is set to the Compiler
 Generated option, the debugger formats and displays the
 value at the specified location as follows:

  -  If the location has a symbolic name, the debugger
     formats and displays the value according to the
     compiler-generated type associated with that
     symbol---that is, as a variable of a particular
     type (if the symbol defines a data location) or as
     a VAX assembly-language instruction (if the symbol
     defines a code location).

  -  If the location does not have a symbolic name (and,
     therefore, no associated compiler-generated type),
     the debugger formats and displays the value in the
     type longword (4-byte) integer.  See Target
     Datatype Option Menu for details.

 You can interpret and display the value at the
 specified location in another type.  To do so, choose
 that type on the Target Datatype option menu.

 Use the Radix option menu to display data in a radix
 other than the default radix.

 Use the Mask option menu to simulate the effect of the
 vector mask register (VMR) when examining a vector
 register or an array in memory.

 The Current Entity field in the main window is updated
 whenever you examine an address, register, or symbolic
 address expression.

g addreg field

=title Address or Register Field
=include debug Ex_Addr_Dialog_Box g_radix_option_menu
=include debug g_vector
=include debug Examine_Status_L_Button
=include debug g_intro_to_addrexpr
To specify a memory address enter an integer in the
 current radix.

 To specify a VAX register, enter a percent sign
 followed by the name of the register.  For example,
 enter %R2 to specify register R2, enter %PC to specify
 the PC register.

 You can also specify a byte offset from an address,
 register, or symbolic address expression.

 You can specify a list of addresses, registers, and
 byte offsets.  In such cases, separate the individual
 entities to be examined with commas.

 You can specify a range of addresses, using the
 following format:

    nnn:mmm

 The value of nnn must be less than mmm.

 If you specify a range of addresses, the debugger
 displays the entity specified by the first address, the
 logical successor, the next logical successor, and so
 on, until it displays the entity specified by the last
 address.

target

=title Target Datatype Option Menu
Use the Target Datatype option menu to override the
 default type associated with a specified location.

 If you choose an option other than Compiler Generated
 from the option menu, the debugger interprets and
 displays the value at the specified location according
 to that type.  For example, if you choose the ASCII
 option, the debugger interprets and displays the value
 as an ASCII string.

 If the Target Datatype option menu is not set to
 Compiler Generated when you open the Examine Addresses
 and Registers dialog box, then a default override type
 (of the type indicated on the menu) is in effect.  A
 default override type is established when you enter a
 SET TYPE/OVERRIDE command in the COMMAND box.

 See the Compiler Generated Option topic for complete
 information about that option.  The topic describes the
 effect of previously establishing a default type
 through the Datatype Defaults dialog box (Customize
 menu) or the SET TYPE/OVERRIDE command.

Additional information available:

ASCICASCIDASCII

asciwascizbytedefaultconditiond floatdate time
floatg floath floatlongwordoctawordpackedpsl
pswquadworduserword

ASCIC

=title ASCIC Option
=include debug Ex_Addr_Dialog_Box target
Interprets each examined entity as a counted ASCII
 string preceded by a 1-byte count field that gives the
 length of the string.  The string is then displayed.

ASCID

=title ASCID Option
=include debug Ex_Addr_Dialog_Box target
Interprets each examined entity as the address of a
 string descriptor pointing to an ASCII string.  The
 Class and Dtype fields of the descriptor are not
 checked, but the Length and Pointer fields provide the
 character length and address of the ASCII string.  The
 string is then displayed.

ASCII

=title ASCII Option
=include debug Ex_Addr_Dialog_Box length
=include debug Ex_Addr_Dialog_Box target
Interprets and displays each examined entity as an ASCII
 string.

 You can specify the length of the string (number of
 characters or bytes) by entering a decimal integer in
 the Length field.

 If you do not specify a length, the default value is 4
 characters.

asciw

=title ASCIW Option
=include debug Ex_Addr_Dialog_Box target
Interprets each examined entity as a counted ASCII
 string preceded by a 2-byte count field that gives the
 length of the string.  The string is then displayed.

asciz

=title ASCIZ Option
=include debug Ex_Addr_Dialog_Box target
Interprets each examined entity as a zero-terminated
 ASCII string.  The ending zero byte indicates the end
 of the string.  The string is then displayed.

byte

=title BYTE Option
=include debug Ex_Addr_Dialog_Box target
Displays each examined entity in the byte integer type
 (length 1 byte).

default

=title Compiler Generated Option
=include debug Ex_Addr_Dialog_Box target
Interprets and displays the value at a specified
 location according its default type.

 The default type is:

  -  For locations that have a symbolic name:  the
     compiler-generated type.

  -  For locations that do not have a symbolic name:
     the type longword integer (length 4 bytes) by
     default; or the type (if any) previously
     established with the Datatype Defaults dialog box
     (Customize menu).

 To determine whether a location has a symbolic name,
 choose Symbolize Address or Register...  from the
 Address or Register submenu of the Data menu.

 Note that the Datatype Defaults dialog box (Customize
 menu) enables you to establish a new default type only
 for locations that do not have a symbolic name.

 If you have previously entered a SET TYPE/OVERRIDE
 command in the COMMAND box, that type is displayed by
 default on the Target Datatype option menu of the
 Examine Address or Register dialog box.  In such cases:

  -  The default type is applied to all locations,
     including those that have a symbolic name.

  -  The Compiler Generated option is dimmed, so that
     you cannot restore the compiler-generated type
     using this option.  To restore the
     compiler-generated type, you must enter a CANCEL
     TYPE/OVERRIDE command in the COMMAND box.

condition

=title Condition Value Option
=include debug Ex_Addr_Dialog_Box target
Interprets each examined entity as a condition-value
 return status and displays the message associated with
 that return status.

d float

=title D_FLOAT Option
=include debug Ex_Addr_Dialog_Box target
Displays each examined entity in the D_floating type
 (length 8 bytes).  Values of type D_floating can range
 from .29 * 10-38 to 1.7 * 108 with approximately 16
 decimal digits precision.

date time

=title DATE_TIME Option
=include debug Ex_Addr_Dialog_Box target
Interprets each examined entity as a quadword integer
 (length 8 bytes) containing the internal VMS
 representation of date and time.  The value is
 displayed in the following format:

   dd-mmm-yyyy hh:mm:ss.xx.

float

=title FLOAT Option
=include debug Ex_Addr_Dialog_Box target
Displays each examined entity in the F_floating type
 (length 4 bytes).  Values of type F_floating can range
 from .29*10 -38 to 1.7*10 +38 with approximately 7
 decimal digits precision.

g float

=title G_FLOAT Option
=include debug Ex_Addr_Dialog_Box target
Displays each examined entity in the G_floating type
 (length 8 bytes).  Values of type G_floating can range
 from .56*10 -308 to .9*10 +308 with approximately 15
 decimal digits precision.

h float

=title H_FLOAT Option
=include debug Ex_Addr_Dialog_Box target
Displays each examined entity in the H_floating type
 (length 16 bytes).  Values of type H_floating can range
 from .84*10 -4932 to .59*10 +4932 with approximately 33
 decimal digits precision.

longword

=title LONGWORD Option
=include debug Ex_Addr_Dialog_Box target
Displays each examined entity in the longword integer
 type (length 4 bytes).  This is the default type for
 program locations that do not have a compiler-generated
 type.

octaword

=title OCTAWORD Option
=include debug Ex_Addr_Dialog_Box target
Displays each examined entity in the octaword integer
 type (length 16 bytes).

packed

=title PACKED Option
=include debug Ex_Addr_Dialog_Box length
=include debug Ex_Addr_Dialog_Box target
Interprets each examined entity as a packed decimal
 number.  Each digit occupies one nibble (4 bits).

 You can specify the number of digits by entering a
 decimal integer in the Length field.

 If you do not specify a length, the default value is 4
 digits.

psl

=title PSL Option
=include debug Ex_Addr_Dialog_Box target
Displays each examined entity in PSL (processor status
 longword) format.

psw

=title PSW Option
=include debug Ex_Addr_Dialog_Box target
Displays each examined entity in PSW (processor status
 word) format.  The PSW option is like the PSL option
 except that only the low order word (2 bytes) is
 displayed.

quadword

=title QUADWORD Option
=include debug Ex_Addr_Dialog_Box target
Displays each examined entity in the quadword integer
 type (length 8 bytes).

user

=title User Defined Option
=include debug Ex_Addr_Dialog_Box user
=include debug Ex_Addr_Dialog_Box target
Interprets and displays each examined entity according
 to a user defined type.

 You specify the type by entering the name of a type or
 variable that is declared in your program in the User
 Type field.

word

=title WORD Option
=include debug Ex_Addr_Dialog_Box target
Displays each examined entity in the word integer type
 (length 2 bytes).

length

=title Length Field
=include debug Ex_Addr_Dialog_Box target ascii
=include debug Ex_Addr_Dialog_Box target packed
If you choose ASCII on the Target Datatype option menu,
 use this field to specify the number of bytes (ASCII
 characters) to be examined.  Enter a decimal integer.
 The default value is 4.

 If you choose PACKED on the Default Datatype option
 menu, use this field to specify the number of decimal
 digits to be examined.  The default value is 4.

user

=title User Type Field
=include debug Ex_Addr_Dialog_Box target user
If you choose User Defined on the Target Datatype option
 menu, use this field to specify the type.  You can
 specify a type or variable that is declared in your
 program.

mask

=title Mask Option Menu
=include debug g_vector
Note:  This feature applies to vectorized programs.

 Use the Mask option menu to simulate the effect of the
 vector mask register (VMR) when examining a vector
 register or an array in memory.

 The None option, which is the default, specifies that
 no mask be used.  All elements of the vector register
 or array are examined.

 The Tmask option specifies that the current value of
 VMR be used as the mask, so that only the elements of
 the vector register or array that correspond to the set
 bits (bit value:  1) of VMR are examined.

 The Fmask option specifies that the current value of
 VMR be used as the mask, but that only the elements of
 the vector register or array that correspond to the
 clear bits (bit value:  0) of VMR are examined.

 The current value of the vector length register (VLR)
 limits the highest register element that you can
 examine but not the highest array element.

g radix option menu

=title Output Radix Option Menu
=include debug g_radix
The debugger can interpret and display integer data in
 any one of four radixes:  binary, decimal, hexadecimal,
 and octal.  The input radix affects data entry.  The
 output radix affects data display.

 Use the Radix option menu to override the current
 output radix and display data in another radix.

 The current output radix is either the language default
 or the output radix that was last established by
 choosing Radix...  from the Customize menu, as
 applicable.  The language default is decimal for all
 languages except BLISS and MACRO.  It is hexadecimal
 for BLISS and MACRO.

 If you have previously established an output radix by
 choosing Radix...  from the Customize menu, the Radix
 option menu on the Examine Address or Variable dialog
 box is set to that radix by default.

 The concept of radix applies strictly to integer data.
 However, note that you can also use the Radix option
 menu to display noninteger data as integer data in a
 particular radix.  This enables you to determine the
 contents of memory as integer data in that radix.

g display button

=title Display Button and AUTO Window
=include debug Wind_Dialog_Box g_predwnds g_auto
=include debug AUTO_Disp_Cmds_Menu_Entry
=include debug Cust_Menu_Windows_Button
By default, debugger output is displayed in the output
 window OUT.  When using the following dialog boxes, you
 can instead display debugger output in a predefined
 window named AUTO:

   Examine Variable
   Examine Address or Register
   Language Expressions

 To display output in window AUTO, click on the Display
 button of the dialog box instead of clicking on OK or
 Apply.  Clicking on Display does not close the window.

 See Predefined Automatic Window (AUTO) for more
 information.

Ex Code Dialog Box

=Title Examine Code Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug inst_Disp_Cmds_Menu_View_Src
Use the Examine Code dialog box to display the line of
 source code or the decoded VAX assembly-language
 instructions for a specified address expression.

 The address expression must be associated with code
 (one or more VAX instructions).  Routine names, program
 labels, and line numbers are symbolic address
 expressions that are associated with code.

 Use .%PC to specify the current PC value (the location
 at which execution is currently suspended).

Additional information available:

g display sourceg display instructionsg addr expression fieldg source code button
g inst buttonoperand values menu

g display source

=title Displaying Source Code for a Code Location
=include debug Code_Menu_Examine_Button
=include debug g_source_notavailable
=include debug g_specifying_code
=include debug g_specify_pc
=include debug Examine_Status_L_Button
=include debug g_display_source
=include debug Ex_Code_Dialog_Box
 To display the line of source code for a code location
 (an address expression associated with VAX
 instructions), proceed as follows:

 1.  Choose Code from the Data menu in the main window,
     then choose Examine Code...  from the Code submenu.
     A dialog box is displayed.

 2.  Enter a code address expression in the Address
     Expression field of the dialog box.  Routine names,
     program labels, and line numbers are symbolic
     address expressions that are associated with code.

 3.  Click on the Source Code button

 4.  Click on OK or Apply.

 The output is displayed as follows:

  -  The source line for the specified address
     expression is displayed in the current source
     window (the source window with the source
     attribute).  This is the predefined window SRC by
     default.  The source line is centered and boxed in
     the window.

     For example, if the address expression is a routine
     name, the source line that contains the routine
     declaration is displayed and boxed.

  -  If no source window has the source attribute, the
     source line is displayed in the output window.

 The Current Entity field in the main window is updated
 whenever you examine a code location or any other
 address expression.

g display instructions

=title Displaying Decoded Instructions at a Code Location
=include debug Code_Menu_Examine_Button
=include debug g_display_predwnds
=include debug g_specifying_code
=include debug g_specify_pc
=include debug Examine_Status_L_Button g_examine_inst_buttons
=include debug g_display_operands
=include debug Examine_Status_L_Button
=include debug g_display_instructions
=include debug g_vector
=include debug inst_Disp_Cmds_Menu_View_Src
=include debug examine_button
=include debug The_Popup_Menu g_examine
=include debug Ex_Code_Dialog_Box
 To display the decoded VAX assembly-language
 instructions at a code location (an address expression
 associated with instructions), proceed as follows:

 1.  Choose Code from the Data menu in the main window,
     then choose Examine Code...  from the Code submenu.
     A dialog box is displayed.

 2.  Enter a code address expression in the Address
     Expression field of the dialog box.  Routine names,
     program labels, and line numbers are symbolic
     address expressions that are associated with code.

     Or, to determine the instructions associated with a
     source line, you can first select that line from a
     source window and then open the dialog box.  The
     module name and line number are automatically
     inserted in the Address Expression field.

 3.  Click on the Instructions button.

 4.  To also display information about the instruction
     operands, choose an option from the With Operand
     Values option menu.

 5.  Click on OK or Apply.

 The output is displayed as follows:

  -  If an instruction window with the instruction
     attribute is displayed, the first instruction for
     the specified address expression is centered and
     boxed in the window.

  -  If no instruction window has the instruction
     attribute, the first instruction for the specified
     address expression is displayed in the current
     output window (window OUT by default).

  -  Instruction operand information is displayed in the
     current output window.

 Note:  By default, the predefined instruction window
 INST is not displayed and does not have the instruction
 attribute.  See Displaying the Predefined Windows INST,
 REG, and AUTO.

 The Current Entity field in the main window is updated
 whenever you examine a code location or any other
 address expression.

g addr expression field

=title Address Expression Field
=include debug g_selecting_code
=include debug g_specifying_code
=include debug g_specify_pc
=include debug g_intro_to_addrexpr
Enter a code address expression in this field (that is,
 an address expression that is associated with one or
 more VAX assembly-language instructions).

 Enter .%PC to specify the current PC value (the
 location at which execution is currently suspended).

 You can fill this field automatically by selecting text
 in a window before opening the dialog box.

g source code button

=title Source Code Button
=include debug Ex_Code_Dialog_Box g_display_source
Click on this button to display the line of source code
 (rather than the decoded VAX instruction) that is
 associated with the specified address expression.

g inst button

=title Instructions Button
=include debug Ex_Code_Dialog_Box g_display_instructions
=include debug Ex_Code_Dialog_Box operand_values_menu
Click on this button to display the decoded VAX
 instructions (rather than the source code) that is
 associated with the specified address expression.

operand values menu

=title With Operand Values Option Menu
=include debug g_display_operands
=include debug g_specify_pc
=include debug g_vector
=include debug Ex_Code_Dialog_Box g_inst_button
=include debug Ex_Code_Dialog_Box g_display_instructions
When examining the instruction at the current PC value
 with the Examine Code dialog box, use this option menu
 to vary the amount of instruction operand information
 displayed.

 In addition, when examining a vector instruction, use
 this option menu to specify a mask in order to display
 specific elements of a vector-register operand.

 The menu is dimmed unless the Instructions button is
 on.

 Use of the With Operand Values Option Menu is described
 in the topic Displaying Decoded Instruction Operand
 Information.

Ex Vbl Dialog Box

=Title Examine Variable Dialog Box
=include debug Ex_Addr_Dialog_Box g_display_button
=include debug g_ok_apply_cancel_buttons
Use the Examine Variable dialog box to display the
 current value of one or more variables that are
 declared in your program.  Proceed as follows:

 1.  Enter the variable name in the Variable field.

     Or, before opening the dialog box, select the
     variable name in a window.  The name is
     automatically inserted in the Variable field.

 2.  To display the value using the variable's
     compiler-generated type (for example, as an
     integer, real, string, array, record, and so on),
     choose Compiler Generated from the Target Datatype
     option menu.  This is the default.

     To display the value in another type, choose that
     type from the option menu.

 3.  Click on OK or Apply to display the value of the
     variable in the output window.

Additional information available:

g examine varg var fieldtargetlengthusermask
g radix option menu

g examine var

=title Examining (Displaying the Values of) Variables
=include debug Vbls_Menu_Examine_Button
=include debug g_specifying_variables
=include debug Ex_Vbl_Dialog_Box target
=include debug Ex_Vbl_Dialog_Box mask
=include debug g_vector
=include debug Examine_Status_L_Button
=include debug examine_button
=include debug The_Popup_Menu g_examine
=include debug Ex_Vbl_Dialog_Box
 To examine (display the value of) a variable, choose
 Variables from the Data menu, then choose Examine
 Variable...  from the Variables submenu.  A dialog box
 is displayed.

 Note:  You can also examine a variable that is selected
 in a window by clicking on the Examine button in the
 main window or by choosing Examine from the pop-up
 menu.  Many of the concepts discussed in the next
 paragraphs also apply to these uses of the Examine
 command.

 When you examine a variable, the debugger associates
 the name specified with a memory address or register
 and with the compiler-generated type for that variable
 (integer, real, string, array, record, and so on).  By
 default, it then interprets and displays the value at
 that location according to the variable's type.

 If you specify the name of an aggregate variable (a
 composite data structure such as an array or a record
 structure), the debugger displays the values of all
 elements.  For an array, the display shows the
 subscript (index) and value of each array element.  For
 a record, the display shows the name and value of each
 record component.

 To specify an individual array element, array slice, or
 record component, use the syntax of the source
 language.  For example, ARR[4] could denote element 4
 of array ARR in some languages.

 You can interpret and display the value at the location
 denoted by a variable name in another type.  To do so,
 choose that type on the Target Datatype option menu of
 the Examine Variable dialog box.

 Use the Radix option menu to display data in a radix
 other than the default radix.

 Use the Mask option menu to simulate the effect of the
 vector mask register (VMR) when examining a vector
 register or an array in memory.

 The Current Entity field in the main window is updated
 whenever you examine a variable or any other address
 expression.

g var field

=title Variable Field
=include debug g_selecting_variables
=include debug g_specifying_variables
Specify any of the following in this field, observing
 the syntax of the source language:

  -  The name of a variable (integer, real, Boolean,
     string, array, record, pointer, and so on).

  -  An individual element of a composite variable, such
     as an array or record.

  -  A range of elements of a composite variable.

  -  The entity designated (pointed to) by a pointer
     variable.

  -  A list of any of the above, separated by commas

 You can fill this field automatically by selecting text
 in a window before opening the dialog box.

target

=title Target Datatype Option Menu
Use the Target Datatype option menu to override the
 compiler-generated type associated with a variable.

 The Compiler Generated option interprets and displays
 the value of a variable according to its
 compiler-generated type.

 If you choose an option other than Compiler Generated
 from the option menu, the debugger interprets and
 displays the value at the memory address or register
 associated with the variable according to that type.
 For example, if you choose the ASCII option, the
 debugger interprets and displays the value as an ASCII
 string.

 If the Target Datatype option menu is not set to
 Compiler Generated when you open the Examine Variable
 dialog box, then a default override type (of the type
 indicated on the menu) is in effect.  A default
 override type is established when you enter a SET
 TYPE/OVERRIDE command in the COMMAND box.

 See Compiler Generated Option for complete information
 about that option.  The topic describes the effect of
 previously establishing a default type through the
 Datatype Defaults dialog box (Customize menu) or the
 SET TYPE/OVERRIDE command.

Additional information available:

ASCIDASCII

ascicasciwascizbytedefaultconditiond float
date timefloatg floath floatlongwordoctawordpacked
pslpswquadworduserword

ascic

=title ASCIC Option
=include debug Ex_Vbl_Dialog_Box target
Interprets each examined entity as a counted ASCII
 string preceded by a 1-byte count field that gives the
 length of the string.  The string is then displayed.

ASCID

=title ASCID Option
=include debug Ex_Vbl_Dialog_Box target
Interprets each examined entity as the address of a
 string descriptor pointing to an ASCII string.  The
 CLASS and DTYPE fields of the descriptor are not
 checked, but the LENGTH and POINTER fields provide the
 character length and address of the ASCII string.  The
 string is then displayed.

ASCII

=title ASCII Option
=include debug Ex_Vbl_Dialog_Box length
=include debug Ex_Vbl_Dialog_Box target
Interprets and displays each examined entity as an ASCII
 string.

 You can specify the length of the string (number of
 characters or bytes) by entering a decimal integer in
 the Length field.

 If you do not specify a length, the default value is 4
 characters.

asciw

=title ASCIW Option
=include debug Ex_Vbl_Dialog_Box target
Interprets each examined entity as a counted ASCII
 string preceded by a 2-byte count field that gives the
 length of the string.  The string is then displayed.

asciz

=title ASCIZ Option
=include debug Ex_Vbl_Dialog_Box target
Interprets each examined entity as a zero-terminated
 ASCII string.  The ending zero byte indicates the end
 of the string.  The string is then displayed.

byte

=title BYTE Option
=include debug Ex_Vbl_Dialog_Box target
Displays each examined entity in the byte integer type
 (length 1 byte).

default

=title Compiler Generated Option
=include debug Ex_Vbl_Dialog_Box target
Interprets and displays the value of the variable
 according to its compiler-generated type.

 If the Target Datatype option menu is not set to
 Compiler Generated when you open the Examine Variable
 dialog box, then a default override type (of the type
 indicated on the menu) is in effect.  A default
 override type is established when you enter a SET
 TYPE/OVERRIDE command in the COMMAND box.

 In such cases, the Compiler Generated option is dimmed,
 and you cannot restore the compiler-generated type
 using this option.  To restore the compiler-generated
 type, enter the command CANCEL TYPE/OVERRIDE in the
 COMMAND box.

condition

=title Condition Value Option
=include debug Ex_Vbl_Dialog_Box target
Interprets each examined entity as a condition-value
 return status and displays the message associated with
 that return status.

d float

=title D_FLOAT Option
=include debug Ex_Vbl_Dialog_Box target
Displays each examined entity in the D_floating type
 (length 8 bytes).  Values of type D_floating can range
 from .29 * 10-38 to 1.7 * 108 with approximately 16
 decimal digits precision.

date time

=title DATE_TIME Option
=include debug Ex_Vbl_Dialog_Box target
Interprets each examined entity as a quadword integer
 (length 8 bytes) containing the internal VMS
 representation of date and time.  The value is
 displayed in the following format:

   dd-mmm-yyyy hh:mm:ss.xx.

float

=title FLOAT Option
=include debug Ex_Vbl_Dialog_Box target
Displays each examined entity in the F_floating type
 (length 4 bytes).  Values of type F_floating can range
 from .29*10 -38 to 1.7*10 +38 with approximately 7
 decimal digits precision.

g float

=title G_FLOAT Option
=include debug Ex_Vbl_Dialog_Box target
Displays each examined entity in the G_floating type
 (length 8 bytes).  Values of type G_floating can range
 from .56*10 -308 to .9*10 +308 with approximately 15
 decimal digits precision.

h float

=title H_FLOAT Option
=include debug Ex_Vbl_Dialog_Box target
Displays each examined entity in the H_floating type
 (length 16 bytes).  Values of type H_floating can range
 from .84*10 -4932 to .59*10 +4932 with approximately 33
 decimal digits precision.

longword

=title LONGWORD Option
=include debug Ex_Vbl_Dialog_Box target
Displays each examined entity in the longword integer
 type (length 4 bytes).  This is the default type for
 program locations that do not have a compiler-generated
 type.

octaword

=title OCTAWORD Option
=include debug Ex_Vbl_Dialog_Box target
Displays each examined entity in the octaword integer
 type (length 16 bytes).

packed

=title PACKED Option
=include debug Ex_Vbl_Dialog_Box length
=include debug Ex_Vbl_Dialog_Box target
Interprets each examined entity as a packed decimal
 number.  Each digit occupies one nibble (4 bits).

 You can specify the number of digits by entering a
 decimal integer in the Length field.

 If you do not specify a length, the default value is 4
 digits.

psl

=title PSL Option
=include debug Ex_Vbl_Dialog_Box target
Displays each examined entity in PSL (processor status
 longword) format.

psw

=title PSW Option
=include debug Ex_Vbl_Dialog_Box target
Displays each examined entity in PSW (processor status
 word) format.  The PSW option is like the PSL option
 except that only the low order word (2 bytes) is
 displayed.

quadword

=title QUADWORD Option
=include debug Ex_Vbl_Dialog_Box target
Displays each examined entity in the quadword integer
 type (length 8 bytes).

user

=title User Defined Option
=include debug Ex_Vbl_Dialog_Box user
=include debug Ex_Vbl_Dialog_Box target
Interprets and displays each examined entity according
 to a user defined type.

 You specify the type by entering the name of a type or
 variable that is declared in your program in the User
 Type field.

word

=title WORD Option
=include debug Ex_Vbl_Dialog_Box target
Displays each examined entity in the word integer type
 (length 2 bytes).

length

=title Length Field
=include debug Ex_Vbl_Dialog_Box target ascii
=include debug Ex_Vbl_Dialog_Box target packed
If you choose ASCII on the Target Datatype option menu,
 use this field to specify the number of bytes (ASCII
 characters) to be examined.  Enter a decimal integer.
 The default value is 4.

 If you choose PACKED on the Default Datatype option
 menu, use this field to specify the number of decimal
 digits to be examined.  The default value is 4.

user

=title User Type Field
=include debug Ex_Vbl_Dialog_Box target user
If you choose User Defined on the Target Datatype option
 menu, use this field to specify the type.  You can
 specify a type or variable that is declared in your
 program.

mask

=title Mask Option Menu
=include debug g_vector
Note:  This feature applies to vectorized programs.

 Use the Mask option menu to simulate the effect of the
 vector mask register (VMR) when examining a vector
 register or an array in memory.

 The None option, which is the default, specifies that
 no mask be used.  All elements of the vector register
 or array are examined.

 The Tmask option specifies that the current value of
 VMR be used as the mask, so that only the elements of
 the vector register or array that correspond to the set
 bits (bit value:  1) of VMR are examined.

 The Fmask option specifies that the current value of
 VMR be used as the mask, but that only the elements of
 the vector register or array that correspond to the
 clear bits (bit value:  0) of VMR are examined.

 The current value of the vector length register (VLR)
 limits the highest register element that you can
 examine but not the highest array element.

g radix option menu

=title Output Radix Option Menu
=include debug g_radix
The debugger can interpret and display integer data in
 any one of four radixes:  binary, decimal, hexadecimal,
 and octal.  The input radix affects data entry.  The
 output radix affects data display.

 Use the Radix option menu to override the current
 output radix and display data in another radix.

 The current output radix is either the language default
 or the output radix that was last established by
 choosing Radix...  from the Customize menu, as
 applicable.  The language default is decimal for all
 languages except BLISS and MACRO.  It is hexadecimal
 for BLISS and MACRO.

 If you have previously established an output radix by
 choosing Radix...  from the Customize menu, the Radix
 option menu on the Examine Variable dialog box is set
 to that radix by default.

 The concept of radix applies strictly to integer data.
 However, note that you can also use the Radix option
 menu to display noninteger data as integer data in a
 particular radix.  This enables you to determine the
 contents of memory as integer data in that radix.

Express Dialog Box

=Title Language Expressions Dialog Box
=include debug Ex_Addr_Dialog_Box g_display_button
=include debug g_ok_apply_cancel_buttons
=include debug g_langexpr
=include debug The_Popup_Menu g_evaluate
Use the Language Expressions dialog box to evaluate a
 language expression.  Proceed as follows:

 1.  Specify an expression that is valid in the
     currently set language in the Language Expression
     field.

 2.  If desired, choose another radix from the Radix
     option menu.  By default integer data is displayed
     in decimal format for all languages except BLISS
     and MACRO (it is displayed in hexadecimal format
     for BLISS and MACRO).

 3.  Click on OK or Apply to display the value in the
     output window.

Additional information available:

g language expression fieldg radix option menu

g language expression field

=title Language Expression Field
=include debug g_langexpr
You can specify any language expression that is valid in
 the current language.

 For most languages, the expression can include the name
 of a simple (single-valued) variable but not the name
 of an aggregate variable (such as an array or record).
 If the expression contains symbols with different
 compiler-generated types, the debugger uses the rules
 of the current language to evaluate the expression.

 If the expression is an ASCII string, you must enclose
 it in quotation marks (") or apostrophes (').  If the
 string contains quotation marks or apostrophes, use the
 other delimiter to enclose the string.  If the string
 has more characters (1-byte ASCII) than can fit into
 the program location denoted by the address expression,
 the debugger truncates the extra characters from the
 right.  If the string has fewer characters, the
 debugger pads the remaining characters to the right of
 the string by inserting ASCII space characters.

g radix option menu

=title Output Radix Option Menu
=include debug g_radix
The debugger can interpret and display integer data in
 any one of four radixes:  binary, decimal, hexadecimal,
 and octal.  The input radix affects data entry.  The
 output radix affects data display.

 Use the Radix option menu to override the current
 output radix and display data in another radix.

 The current output radix is either the language default
 or the output radix that was last established by
 choosing Radix...  from the Customize menu, as
 applicable.  The language default is decimal for all
 languages except BLISS and MACRO.  It is hexadecimal
 for BLISS and MACRO.

 If you have previously established an output radix by
 choosing Radix...  from the Customize menu, the Radix
 option menu on the Language Expressions dialog box is
 set to that radix by default.

 The concept of radix applies strictly to integer data.
 However, note that you can also use the Radix option
 menu to display noninteger data as integer data in a
 particular radix.  This enables you to determine the
 contents of memory as integer data in that radix.

Go Dialog Box

=Title Go Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug go_button
=include debug The_Popup_Menu g_go
Use the Go dialog box to start program execution from a
 specified location.  Proceed as follows:

 1.  Enter an address expression that is associated with
     code (VAX instructions) in the Address Expression
     field.  Routine names, program labels, and line
     numbers are symbolic address expressions that are
     associated with code.

 2.  Click on OK or Apply to start execution.

 Note that starting execution from a location other than
 the current location can produce unexpected results,
 because it alters the normal control flow of your
 program.  For example, during a debugging session you
 can restart execution from the beginning of the program
 by specifying the address expression %LINE 1.  However,
 because the program has executed, the values of some
 variables might now be different from when you first
 ran the program.

Additional information available:

g gog address expression field

g go

=title Starting and Resuming Execution (Go Command)
=include debug go_button
=include debug The_Popup_Menu g_go
=include debug Ctrl_Menu_Go_Button
=include debug Go_Dialog_Box
To start or resume program execution from the current
 location, click on the Go button in the main window.

 To start execution from another location, choose Go...
 from the Control menu and specify the location in the
 Go dialog box.

 After it is started with the Go command, program
 execution continues until one of the following events
 occurs:

  -  The program completes execution

  -  A breakpoint is reached

  -  A watchpoint is activated

  -  An exception is signaled

  -  You click on the Stop button in the main window

 Note that starting execution from a location other than
 the current location can produce unexpected results,
 because it alters the normal control flow of your
 program.  For example, during a debugging session you
 can restart execution from the beginning of the
 program.  However, because the program has executed,
 the values of some variables might now be different
 from when you first ran the program.

 Go is one of the four debugger commands that you can
 use to execute your program.  The others are:

  -  Step (on the Control or pop-up menu, or the Step
     button in the main window)

  -  Call (on the Control menu)

  -  Exit (on the File menu of the debugger windows)

g address expression field

=title Address Expression Field
=include debug g_selecting_code
=include debug g_specifying_code
=include debug g_intro_to_addrexpr
Enter a code address expression in this field (that is,
 an address expression that is associated with one or
 more VAX assembly-language instructions).

 You can fill this field automatically by selecting text
 in a window before opening the dialog box.

Images Dialog Box

=Title Images Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug g_Symb_share
=include debug g_DST_GST_RST
=include debug g_symb_mod_set
=include debug Show_Vbl_Dialog_Box g_show_var
=include debug g_Symb
Use the Images dialog box to debug a shareable image
 that is linked with your program.  You do not need to
 use this dialog box if you are debugging only the main
 (executable) image of your program.

 Use the Images dialog box to set or cancel images, or
 to identify the current image.

 To set an image, proceed as follows:

 1.  Choose 'Set selected image' from the Set/Cancel
     option menu.

 2.  Click on the name of the image in the list box.

     Or, type the image name in the Image field.

 3.  Click on OK or Apply.

 To cancel an image, proceed as follows:

 1.  Choose 'Cancel selected image' from the Set/Cancel
     option menu.

 2.  Click on the name of the image in the list box.

 3.  Click on OK or Apply.

 Setting an image means to load symbol information about
 the modules of an image into that image's run-time
 symbol table (RST).  Setting an image also establishes
 that image as the current image.  The current image is
 the context for looking up symbols that you specify
 while debugging.

 The list box of the Images dialog box identifies the
 executable image of the program and any shareable
 images that are linked with the executable image.  The
 word 'set' at the left of a name indicates that the
 image is set.  The asterisk at the left of a name
 identifies the current image.

Additional information available:

set cancelg image fieldg image list box

set cancel

=title Set/Cancel Option Menu
Use the Set/Cancel option menu to specify whether you
 want to set or cancel one or more images.

g image field

=title Image Field
Use this field to specify one or more images to be set
 or canceled.

 You can specify a list of image names, separated by
 commas, but do not use the asterisk wildcard character
 (*).

 If text was selected when you opened the dialog box,
 the Image field is filled automatically.

g image list box

=title Image List Box
The list box identifies the executable image of the
 program and any shareable images that are linked with
 the executable image.

 The word 'set' at the left of a name indicates that the
 image is set.

 The asterisk at the left of a name identifies the
 current image.  By default, the main (executable) image
 is the current image.

Linenum Dialog Box

=Title View Source Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug g_display_source
=include debug g_source_notavailable
Use the View Source dialog box to display, in the
 current source window, the source code associated with
 a compiler-generated line number or with a range of
 line numbers.

 To display source code in the module whose code is
 currently displayed in the source window, proceed as
 follows:

  -  To center a single source line in the source
     window, enter the line number in the Line Number
     Expression field.  For example, to display line 47,
     enter the number 47.

  -  To display a range of source lines, enter the
     starting and ending line numbers separated by a
     colon (:).  For example, to display lines 31 to 37,
     enter 31:37.

 To display source code in an arbitrary module, specify
 the module name as a path name prefix.  For example:

  -  SWAP\47 specifies line 47 in module SWAP

  -  SWAP31:37 specifies lines 31 to 37 in module SWAP

Logging Dialog Box

=Title Logging Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug g_log_file
Use the Logging dialog box for the following purposes:

 1.  To control whether a debugging session is logged
     into a file, and to specify the log file:

      -  To enable logging, choose the Logging Enabled
         option.

      -  Specify a log file in the Log File field.  The
         default specification is SYS$DISK:[]DEBUG.LOG.

         The current log file is identified in the Log
         File field when you open the dialog box.


 2.  To control whether debugger commands are echoed in
     the current output window as they are executed, in
     the following situations:

      -  When the debugger executes a command procedure

      -  When the debugger executes commands that were
         specified in the Action field of various dialog
         boxes (for example, Break, Watch)

     To echo debugger commands, choose the Include I/O
     from Command Procedures option.

Modules Dialog Box

=Title Modules Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug g_symb_mod_set
=include debug g_DST_GST_RST
=include debug Show_Vbl_Dialog_Box g_show_var
=include debug g_Symb
=include debug g_Symb_share
Use the Modules dialog box to set or cancel modules, or
 to identify the modules that are currently set.

 To set a module, proceed as follows:

 1.  Choose 'Set selected module' from the Set/Cancel
     option menu.

 2.  Click on name of the module in the list box.

     Or, type the module name in the Module field.

 3.  Click on OK or Apply.

 To cancel a module, proceed as follows:

 1.  Choose 'Cancel selected module' from the Set/Cancel
     option menu.

 2.  Click on the name of the module in the list box.

 3.  Click on OK or Apply.


 A module corresponds to a compilation unit for most
 languages.  Setting a module means to load the
 compiler-generated symbol records of a module into the
 run-time symbol table (RST) for that module's image.

 The list box of the Modules dialog box identifies all
 the modules in the current image.  The word 'set' at
 the left of a module name indicates that the module is
 currently set.

Additional information available:

set cancelg module fieldg module list boxg include related modules button

set cancel

=title Set/Cancel Option Menu
=include debug g_symb_mod_set
=include debug g_Symb_share
=include debug Scopes_Status_L_Button
Use the Set/Cancel option menu to specify whether you
 want to set or cancel one or more modules.

 Use the option 'Set the modules on the call stack' to
 set all the modules that currently have routines on the
 call stack.  This is useful when you are using the Call
 Frame arrow buttons in the main window.

 The options 'Set all modules' and 'Cancel all modules'
 set and cancel, respectively, all of the modules in the
 current image.

 When you cancel all modules, only global symbols (as
 resolved by the linker) are available.

g module field

=title Module Field
Use this field to specify one or more modules of the
 current image to be set or canceled.

 You can specify a list of module names, separated by
 commas, but do not use the asterisk wildcard character
 (*).

 If text was selected when you opened the dialog box,
 the Module field is filled automatically.

g module list box

=title Module List Box
The list box identifies all the modules in the current
 image.

 The word 'set' at the left of a name indicates that the
 module is set.

g include related modules button

=title Include Related Modules Button
Note:  This feature applies to Ada programs.

 Use this button to control whether the debugger
 automatically sets modules that are related to a
 specified module through a with-clause or through a
 subunit relationship.

 Button on (default for Ada programs):

    Sets related modules as well as those that you
    specify.  This makes names (symbols) declared in
    related modules visible so that you can reference
    them exactly as they can be referenced within the
    Ada source code.

 Button off:

    Sets only the modules that you specify (no related
    modules are set).

Other Dialog Box

=Title Other Attributes Dialog Box
=include debug g_ok_apply_cancel_buttons
Use this dialog box to establish miscellaneous settings
 as explained in the additional topics.

 Default settings are established for the various items
 when you invoke the debugger.  If you change a setting
 through this dialog box, that change remains in effect
 for the rest of the debugging session.

 To establish a different default setting at debugger
 startup, store the corresponding command in a debugger
 initialization file.  This is a debugger command
 procedure that is assigned the logical name DBG$INIT
 and is executed every time you invoke the debugger.
 The appropriate command is listed with each item's
 description in the additional topics.

Additional information available:

dyn mod setasts enabledsymbolizedyn procint procscal vec synch
double precision floatinst operandsdisp code

dyn mod set

=title Dynamic Module and Image Setting Button
=include debug g_symb_mod_set
=include debug Other_Dialog_Box symbolize
=include debug Other_Dialog_Box disp_code
Button on (default):
 Equivalent Command:  SET MODE DYNAMIC

    Enables dynamic module and image setting.  The
    debugger sets modules and images automatically
    during program execution so that you typically do
    not have to set modules or images explicitly by
    choosing Modules...  or Images...  from the Data
    menu.

    Specifically, whenever execution is interrupted, the
    debugger automatically sets the module and image
    that contain the routine in which execution is
    currently suspended.  If the module or image is
    already set, dynamic module and image setting has no
    effect on that module or image.  The debugger issues
    an informational message when its sets a module or
    image.

 Button off:
 Equivalent command:  SET MODE NODYNAMIC

    Disables dynamic module and image setting.  Because
    additional memory is allocated when a module or
    image is set, you might want to disable dynamic
    module and image setting if performance becomes a
    problem.

    You can also free up memory by canceling modules and
    images, by choosing Modules...  or Images...  from
    the Data menu.  When dynamic module and image
    setting is disabled, you must set modules and images
    explicitly.

asts enabled

=title ASTs Enabled Button
=include debug Ctrl_Menu_Call_Button
Button on (default):
 Equivalent command:  ENABLE AST

    Enables the delivery of asynchronous system traps
    (ASTs) while your program is running, including any
    pending ASTs (ASTs waiting to be delivered).  If
    ASTs are delivered while the debugger is running
    (processing commands, and so on), they are queued
    and are delivered when control is returned to the
    program.

 Button off:
 Equivalent command:  DISABLE AST

    Disables the delivery of ASTs in your program and
    thereby prevents interrupts from occurring while the
    program is running.  If ASTs are delivered while the
    debugger is running (processing commands, and so
    on), they are queued and are delivered when control
    is returned to the program.

symbolize

=title Symbolize Address Expressions Button
=include debug Other_Dialog_Box dyn_mod_set
=include debug Other_Dialog_Box disp_code
=include debug Addr_Menu_Symbolize_Button
=.!include gen g_DST_GST_RST
=include debug g_Symb
Button on (default):
 Equivalent command:  SET MODE SYMBOLIC

    Enables symbolic mode.  Therefore, the debugger
    displays the locations denoted by address
    expressions symbolically (if possible) and displays
    instruction operands symbolically (if possible).

 Button off:
 Equivalent command:  SET MODE NOSYMBOLIC

    Disables symbolic mode.  Therefore, the debugger
    does not attempt to symbolize numeric addresses (it
    does not cause the debugger to convert numbers to
    names).

    This is useful if you are interested in identifying
    numeric addresses rather than their symbolic names
    (if symbolic names exist for those addresses).  When
    symbolic mode is disabled, command processing might
    speed up somewhat, because the debugger does not
    need to convert numbers to names.

dyn proc

=title Dynamic Process Setting Button
=include debug Other_Dialog_Box int_proc
=include debug Process_Status_L_Button
=include debug g_multiproc
Note:  This feature applies to multiprocess programs.

 Button on (default):
 Equivalent command:  SET PROCESS/DYNAMIC

    Enables dynamic process setting.  Therefore,
    whenever the debugger suspends program execution,
    the process in which execution is suspended becomes
    the visible process automatically.

 Button off:
 Equivalent command:  SET PROCESS/NODYNAMIC

    Disables dynamic process setting.  Therefore, the
    visible process remains unchanged until you make
    another process the visible process explicitly (by
    using either the Visible Process arrow buttons in
    the main window or the Processes...  dialog box from
    the Data menu).

int proc

=title Interrupt Processes Button
=include debug Other_Dialog_Box dyn_proc
=include debug g_multiproc
Note:  This feature applies to multiprocess programs.

 Button on (default):
 Equivalent command:  SET MODE INTERRUPT

    Specifies that, when program execution is suspended
    in any process, the debugger interrupts execution in
    any other processes that were executing images.

 Button off:
 Equivalent command:  SET MODE NOINTERRUPT

    Specifies that, when program execution is suspended
    in any process, the debugger take the following
    action:

     -  If execution was suspended because of an
        unhandled exception, the debugger interrupts
        execution in any other processes that were
        executing images.

     -  If execution was suspended because of a
        breakpoint or watchpoint or upon the completion
        of a step, the debugger lets execution proceed
        in any other processes that were executing
        images.  As long as execution continues in any
        process, the debugger does not take control.  In
        such cases, click on the Stop button in the main
        window to interrupt all processes.

    The following example shows the effect of turning
    off the Interrupt Processes button.

    Assume you have set a breakpoint in each process
    that is currently under debugger control.  When you
    then enter a Go command, execution starts in all
    processes that are not on hold, and the debugger
    does not take control until the breakpoint is
    triggered in all processes that are not on hold.

scal vec synch

=title Scalar-Vector Synchronization Button
=include debug Ctrl_Menu_SyncVector_Button
=include DEBUG g_vector
Note:  This feature applies to vectorized programs.

 Button on:
 Equivalent command:  SET VECTOR_MODE SYNCHRONIZED

    Specifies that the debugger force automatic
    synchronization between the scalar and vector
    processors whenever a vector instruction is
    executed.  Specifically, the debugger issues a SYNC
    instruction after every vector instruction and, in
    addition, an MSYNC instruction after any vector
    instruction that accesses memory.  This forces the
    completion of all activities associated with the
    vector instruction that is being synchronized:

     -  Any exception that was caused by a vector
        instruction is delivered before the next scalar
        instruction is executed.  Note that forcing the
        delivery of a pending exception triggers an
        exception breakpoint or tracepoint (if one was
        set) or invokes an exception handler (if one is
        available at that location in the program).

     -  Any read or write operation between vector
        registers and either the general registers or
        memory is completed before the next scalar
        instruction is executed.

    Note that turning on the Scalar-Vector
    Synchronization button does not in itself issue an
    immediate SYNC or MSYNC instruction.  To force
    immediate synchronization, choose Synchronize Vector
    Processor from the Control menu.

 Button off (default):
 Equivalent command:  SET VECTOR_MODE NOSYNCHRONIZED

    Specifies that the debugger not force
    synchronization between the scalar and vector
    processors except for internal debugger purposes.
    As a result, any synchronization is controlled
    entirely by the program, and the program runs as if
    it were not under debugger control.

double precision float

=title Double-Precision Floating-Point Interpretation Buttons
=include debug Datatype_Dialog_Box
D_FLOAT button on (default):
 Equivalent command:  SET MODE NOG_FLOAT

    Specifies that the debugger interpret
    double-precision floating-point constants entered in
    expressions as D_FLOAT.

 G_FLOAT button on:
 Equivalent command:  SET MODE G_FLOAT

    Specifies that the debugger interpret
    double-precision floating-point constants entered in
    expressions as G_FLOAT.

 These settings do not affect the interpretation of
 variables declared in your program.

inst operands

=title Instruction Operand Information Buttons
=include debug Ex_Code_Dialog_Box g_display_instructions
=include debug Examine_Status_L_Button g_examine_inst_buttons
=include debug Examine_Status_L_Button
=include debug g_display_instructions
None button on (default):
 Equivalent command:  SET MODE NOOPERANDS

    Specifies that, when you examine an instruction,
    only the instruction and its operands are displayed.

 Brief or Full button on:
 Equivalent command:  SET MODE OPERANDS=BRIEF (or =FULL)

    Specifies that, when you examine an instruction, the
    address and contents of the instruction's operands
    are displayed in addition to the instruction and its
    operands.  The level of information displayed
    depends on whether you click on Brief or Full.

disp code

=title Display Code Locations Buttons
=include debug Other_Dialog_Box dyn_mod_set
=include debug Other_Dialog_Box symbolize
=include debug Addr_Menu_Symbolize_Button
By Line Number button on (default):
 Equivalent command:  SET MODE LINE

    Specifies that the debugger display program
    locations in terms of line numbers, if possible (for
    example, %LINE 27).

 By Routine Offset button on:
 Equivalent command:  SET MODE NOLINE

    Specifies that the debugger display program
    locations as routine-name + byte-offset rather than
    in terms of line numbers.

Radix Dialog Box

=Title Radix Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug g_radix
Use the Radix dialog box to establish the radix for the
 entry or display of integer data (the input radix and
 the output radix, respectively).

 The Input Radix and Output Radix option menus of the
 Radix dialog box show the current radix settings for
 data entry and display, respectively.  The default
 radix is decimal for all languages except BLISS and
 MACRO.  It is hexadecimal for BLISS and MACRO.

 To establish another radix, proceed as follows:

 1.  Choose the input radix and output radix to be
     established from the appropriate option menu.

 2.  Click on OK or Apply.


 The following dialog boxes have option menus that
 enable you to override the output radix, but only for
 the command that you enter when you click on OK or
 Apply:

  -  Examine Variable (choose Variables from the Data
     menu, then choose Examine Variable from the
     submenu).

  -  Examine Address or Register (choose Addresses or
     Registers from the Data menu, then choose Examine
     Addresss or Register from the submenu).

  -  Language Expressions (choose Language
     Expressions...  from the Data menu).

Additional information available:

input radixg output radix

input radix

=title Input Radix Option Menu
=include debug Radix_Dialog_Box output_radix
Use this option menu to set the input radix (the radix
 for entering integer data) as follows:

  Binary       Sets the radix to binary.

  Decimal      Sets the radix to decimal. This is the
               default for all languages except BLISS and
               MACRO.

  Octal        Sets the radix to octal.

  Hexadecimal  Sets the radix to hexadecimal. This is
               the default for BLISS and MACRO.

g output radix

=title Output Radix Option Menu
=include debug Radix_Dialog_Box input_radix
Use this option menu to set the output radix (the radix
 for displaying integer data) as follows:

  Binary       Sets the radix to binary.

  Decimal      Sets the radix to decimal. This is the
               default for all languages except BLISS and
               MACRO.

  Octal        Sets the radix to octal.

  Hexadecimal  Sets the default radix to hexadecimal.
               This is the default for BLISS and MACRO.

Show Ad Dialog Box

=Title Show Address Dialog Box
=include debug g_ok_apply_cancel_buttons
Use this dialog box to display the memory address or
 register for a specified address expression.

 If, prior to opening the dialog box, you selected text
 in a source or instruction window, a path name for that
 selection is automatically inserted in the following
 form in the Address Expression field (n is the line
 number of the selected text):

    module-name\%LINE n

 Clicking on the OK or Apply button displays the address
 of the first instruction for the selected line.

 Although this dialog box is displayed by choosing Code
 from the Data menu, you can enter an address expression
 that is associated with either code (VAX instructions)
 or data (for example, a variable name).  Routine names,
 program labels, and line numbers are symbolic address
 expressions that are associated with code.

Additional information available:

g address expression field

g address expression field

=title Address Expression Field
=include debug g_selecting_code
=include debug g_specifying_code
=include debug g_specifying_variables
=include debug g_intro_to_addrexpr
Enter a code address expression in this field (that is,
 an address expression that is associated with one or
 more VAX assembly-language instructions).

 You can fill this field automatically by selecting text
 in a window before opening the dialog box.

Show Vbl Dialog Box

=Title Show Variable Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug g_Symb
=include debug g_DST_GST_RST
=include debug g_resolve_symb
Use the Show Variable dialog box to display information
 about one or more variable names (or other symbols)
 that are currently in the debugger's run-time symbol
 table (RST).

 Proceed as follows:

 1.  Enter the variable name in the Variable field.

     Or, before opening the dialog box, select the
     variable name in a window.  The name is
     automatically inserted in the Variable field.

 2.  Click on one of the buttons (Symbol, Type, and so
     on), to specify whether you want to display the
     path name prefix for that variable, or additional
     information such as the variable's type or address.

 3.  If applicable, specify a scope (for example, a
     module or routine name) in which the debugger is to
     look for the variable.

 4.  Click on OK or Apply.

Additional information available:

g show varg variable fieldg symbol buttong type button
g address computation buttong virtual memory address buttong scope field

g show var

=title Obtaining Information about Variables and Other Symbols
=include debug Vbls_Menu_Show_Button
=include debug g_DST_GST_RST
=include debug g_resolve_symb
=include debug g_Symb
=include debug g_symb_share
=include debug Show_Vbl_Dialog_Box
 To display information that the debugger has about a
 given variable or other symbol in the current image,
 choose Variables from the Data menu, then choose Show
 Variable...  from the Variables submenu.  A dialog box
 is displayed.

 Note:  The current image is either the main image, by
 default, or the image established as the current image
 through the Images dialog box (Data menu).

 The information that the debugger displays about a
 symbol might not be the same as what the compiler had
 or even what you see in your source code.  Nonetheless,
 it is useful for understanding why the debugger might
 act as it does when handling symbols.

 Symbols are displayed with their path names.  The Show
 Variable dialog box enables you to list all possible
 declarations or definitions of a specified symbol that
 exist in the RST for the current image---that is, in
 all set modules and in the GST for that image.

 Use the Scope field to indicate that the debugger
 should identify only the specified symbols that are
 declared in a particular scope rather than the entire
 run-time symbol table (RST).

g variable field

=title Variable Field
=include debug g_selecting_variables
=include debug g_specifying_variables
=include debug g_Symb
Enter text into this field as follows:

  -  In addition to a variable name, you can specify any
     symbol declared in your program (routine name,
     label, and so on).

  -  You can specify one or more symbols.  Use commas to
     separate symbols.

  -  You can use the asterisk (*) wildcard character
     within a symbol name.

  -  You can specify the asterisk character by itself to
     denote all symbols.

  -  Do not specify a compound name such as might be
     used to denote an array element or a record
     component (for example, ARR[3] or
     EMPLOYEE.ADDRESS).

  -  When specifying a numeric label, use the %LABEL
     built-in symbol (for example, %LABEL 35 denotes
     label 35).

 You can fill this field automatically by selecting text
 in a window before opening the dialog box.

g symbol button

=title Symbol Button
Choose the Symbol button to display the specified symbol
 with its path name prefix.

g type button

=title Type Button
Choose the Type button to display the specified symbol
 (with its path name prefix) and also data type
 information about the symbol.

g address computation button

=title Address Computation Button
Choose the Address Computation button to display the
 specified symbol (with its path name prefix) and also
 the computation that the debugger uses to locate the
 symbol.

 The address computation might simply be a memory
 address, or it might be an offset from a register (for
 example, the offset .%FP-24 denotes a location 24 bytes
 from the address that is contained in the frame pointer
 register).

 Some symbols have address specifications too
 complicated to present in any understandable way.
 These address specifications are labeled "complex
 address specifications."

g virtual memory address button

=title Virtual Memory Address Button
Choose the Virtual Memory Address button to display the
 virtual memory address or register that is associated
 with the specified symbol.

g scope field

=title Scope Field
=include debug g_resolve_symb
Use this field to indicate that the debugger should
 identify only the specified symbols that are declared
 in a particular scope rather than the entire run-time
 symbol table (RST).

 You can specify any of the following:

  -  A symbol that denotes a lexical scope in your
     program, such as a module name or a routine name,
     including its path name prefix (for example,
     PROG2\SWAP).

  -  A numeric scope, consisting of a decimal integer
     from 0 to N, to denote a level on the call stack.
     0 denotes the routine in which execution is
     currently suspended; 1 denotes the caller routine,
     and so on.

  -  A search list consisting of any of the above,
     separated by commas.

 The scopes specified must be in set modules in the
 current image.

 The debugger displays only those symbols in the RST for
 the current image that both match the specified name
 and are declared within the lexical entity specified by
 the scope parameter.  If the scope parameter is
 omitted, all set modules and the global symbol table
 (GST) for the current image are searched for symbols
 that match the entry in the Variable field.

Src File Dialog Box

=Title Source Files Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug g_source_notavailable
=include debug g_display_source
Use the Source Files dialog box to specify where the
 debugger is to search for source files that have been
 moved to another directory after being compiled.

Additional information available:

g directory list field

g directory list field

=title Directory List Field
In this field, specify any part of a VMS file
 specification (typically a device and directory) that
 the debugger uses by default when searching for a
 source file.

 A full VMS file specification consists of the following
 fields:

 node::device:[directory]file-name.file-type;version-number

 For any part of a full file specification that you do
 not supply, the debugger uses the file specification
 stored in the module's symbol record---that is, the
 file specification that the source file had at compile
 time.

 You can create a source directory search list by
 specifying more than one directory.  Separate directory
 names with commas.

 The debugger handles a source directory search list by
 searching the first directory specified to locate
 source files, then the second directory specified, then
 the next, and so on, until it either locates the source
 file or exhausts the list of directories.

 You can also specify a search list logical name that is
 defined at your process level.  For example, the
 following command defines the logical name
 DEBUG_SOURCES.  If you then specify DEBUG_SOURCES in
 the Directory List field, the debugger looks for source
 files first in your current default directory, then in
 the directory DISK2:[PROJECT_SOURCES]:

 $ DEFINE DEBUG_SOURCES SYS$DISK:[],DISK2:[PROJECT_SOURCES]

 To specify a source directory search list in a debugger
 command procedure or initialization file, use the SET
 SOURCE command.

Step Dialog Box

=Title Step Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug Step_Button
=include debug The_Popup_Menu
Use the Step dialog box to:

  -  Specify options for a single Step command and
     execute that command

  -  Set default options for all subsequent Step
     commands without executing a Step command

 The Step command executes the program one or more step
 units at a time.

 When opened, the Step dialog box indicates the current
 default options for the Step command.

Additional information available:

g stepset one stepset default stepstep setstep unitnotification
step units fieldinstructions fieldwithin called routines button
jsb routines buttonshareable routines buttonsystem routines button

g step

=title Executing the Program by Step Unit (Step Command)
=include debug Step_Button
=include debug The_Popup_Menu
=include debug Ctrl_Menu_Step_Button
To execute one step unit of your program, click on the
 Step button in the main window.

 By default, a step unit is one line of source code; and
 by default, the debugger notifies you of the completion
 of a Step command by displaying a "stepped to..."
 message and the source line where execution is
 suspended.

 To specify other options for the Step command, choose
 Step...  from the Control menu.  For example, you can
 make the default step unit signify "execute one
 instruction".

 Note the following additional points about the Step
 command:

  -  When used to execute the program in units of one or
     more source lines, the Step command executes one or
     more executable lines at a time, skipping over any
     other lines.

     Executable lines are those for which instructions
     were generated by the compiler (for example, lines
     with routine calls or assignment statements).
     Examples of nonexecutable lines are comment lines
     or lines with variable declarations without value
     assignments.

  -  When execution is suspended at a routine call,
     clicking on the Step button executes the call in
     one step by default, suspending execution at the
     next source line in the calling routine.

     You can override this behavior to execute the
     routine in steps by choosing Step Into Routine from
     the pop-up menu, and then clicking on the Step
     button after execution is within the routine.

 Step is one of the four debugger commands that you can
 use to execute your program.  The others are:

  -  Go (on the Control or pop-up menu, or the Go button
     in the main window)

  -  Call (on the Control menu)

  -  Exit (on the File menu of the debugger windows)

set one step

=title Specifying Options for a Single Step Command
=include debug Step_Dialog_Box set_default_step
=include debug Step_Dialog_Box g_step
To specify options for a single Step command:

 1.  Choose Step...  from the Control menu.

 2.  Choose Step from the upper-left (Step/Set) option
     menu of the Step dialog box.

 3.  Choose one or more options from the dialog box.
     Start with the upper-right (Step Unit) option menu.

 4.  Click on OK or Apply to enter the Step command.
     Any new options you choose override the previously
     established step defaults, but only for that
     command.

set default step

=title Setting Defaults for All Subsequent Step Commands
=include debug Step_Dialog_Box set_one_step
=include debug Step_Dialog_Box g_step
To set default options for all subsequent Step commands:

 1.  Choose Step...  from the Control menu.

 2.  Choose 'Set default step' from the upper-left
     (Step/Set) option menu of the Step dialog box.

 3.  Choose one or more options from the dialog box.
     Start with the upper-right (Step Unit) option menu.

 4.  Click on OK or Apply.  No Step command is issued.

step set

=title Step/Set (Upper-Left) Option Menu
=include debug Step_Dialog_Box set_one_step
=include debug Step_Dialog_Box set_default_step
=include debug Step_Dialog_Box step_unit
=include debug Step_Dialog_Box g_step
Use the Step/Set option menu as follows:

  -  Choose Step to specify that you are establishing
     one or more new options for the next Step command.
     Any new options you then choose override the
     previously established step defaults, but only for
     that command.

  -  Choose 'Set default step' to specify that you are
     establishing one or more new defaults for
     subsequent Step commands.  Any options you then
     choose override the previously established step
     defaults and remain in effect until you end the
     debugging session or establish new defaults with
     this dialog box.

step unit

=title Step Unit (Upper-Right) Option Menu
=include debug Step_Dialog_Box g_step
Use the Step Unit option menu to specify the step unit,
 which is the unit of execution for the Step command
 (for example, step to the next line, next specified VAX
 instruction, and so on).

Additional information available:

next linenext instnext RETnext CALLnext branchspec instnext excep
next vecinst

next line

=title 'the next source line' Option
=include debug Step_Dialog_Box step_unit
Executes the program to the next source line encountered
 during program execution.

 When used to execute the program in units of one or
 more source lines, the Step command executes one or
 more executable lines at a time, skipping over any
 other lines.

 Executable lines are those for which instructions were
 generated by the compiler (for example, lines with
 routine calls or assignment statements).  Examples of
 nonexecutable lines are comment lines or lines with
 variable declarations without value assignments.

next inst

=title 'the next instruction' Option
=include debug Step_Dialog_Box step_unit
Executes the program to the next VAX assembly-language
 instruction encountered during program execution.

next RET

=title 'the next RET instruction' Option
=include debug Step_Dialog_Box step_unit
Executes the program to the RET (return) instruction of
 the routine in which execution is currently suspended;
 that is, up to the point just prior to transferring
 control back to the calling routine.

 This enables you to inspect the local environment (for
 example, obtain the values of local variables) before
 the RET instruction deletes the routine's call frame
 from the call stack.

 If you specify an integer N in the Step Unit(s) field,
 the Step command executes the program up N levels of
 the call stack.

next CALL

=title 'the next CALL instruction' Option
=include debug Step_Dialog_Box step_unit
Executes the program to the next call or return (RET)
 instruction encountered during program execution.

next branch

=title 'the next branch instruction' Option
=include debug Step_Dialog_Box step_unit
Executes the program to the next branch instruction
 encountered during program execution.

spec inst

=title 'the specified instruction(s)' Option
=include debug Step_Dialog_Box step_unit
Executes the program to the next VAX instruction whose
 opcode is specified in the Instructions field and is
 encountered during program execution.

 If you specify a vector instruction, do not include an
 instruction qualifier (/U, /V, /M, /0, or /1) with the
 instruction mnemonic.

next excep

=title 'the next exception' Option
=include debug Step_Dialog_Box step_unit
Executes the program to the next exception condition (if
 any) encountered during program execution.

next vecinst

=title 'the next vector instruction' Option
=include debug Step_Dialog_Box step_unit
Note:  This option applies to vectorized programs.

 Executes the program to the next vector instruction
 encountered during program execution.

notification

=title Notification Option Menu
The Notification option menu controls the debugger
 output that is displayed upon completion of the Step
 command.

 The Notification options are as follows:

 On, with source display (default):
    The "stepped to..." message and the source line for
    the current location are displayed upon completion
    of the step.

 On, without source display:
    The "stepped to..." message is displayed upon
    completion of the step, but the source line for the
    current location is not displayed.

 Off:
    Neither the "stepped to..." message nor the source
    line for the current location are displayed upon
    completion of the step.

 If 'Set default step' was chosen on the Step/Set
 (upper-left) option menu, the default Notification
 option that is established also controls the debugger
 output when a breakpoint, tracepoint, or watchpoint is
 triggered.  You can override this default when setting
 individual breakpoints, tracepoints, and watchpoints
 (by choosing Break...  or Watch...  from the Control
 menu).

step units field

=title Step Unit(s) Field
=include debug Step_Dialog_Box step_unit
Use this field to specify the number of step units that
 the Step command is to execute.

 To specify a step unit, use the Step Unit (upper-right)
 option menu.

instructions field

=title Instructions Field
=include debug Step_Dialog_Box step_unit
If you choose 'the specified instruction(s)' on the Step
 Unit (upper-right) option menu, use this field to
 specify a list of one or more VAX instructions
 (opcodes), separated by commas.

 This causes the debugger to execute the program to the
 next instruction whose opcode is specified in the list,
 if encountered during execution.

within called routines button

=title Within Called Routines Button
=include debug Step_Dialog_Box jsb_routines_button
=include debug Step_Dialog_Box shareable_routines_button
=include debug Step_Dialog_Box system_routines_button
The behavior of this button depends on whether you are
 specifying an option for only the next Step command or
 establishing defaults for subsequent Step
 commands---that is, whether you choose Step or Set
 default step on the Step (upper-left) option menu.

 If you are specifying an option for only the next Step
 command:

  -  Changing the setting of the Within Called Routines
     button has an effect only if program execution is
     currently suspended at a routine call.

  -  If execution is suspended at a routine call:

      +  Button on:
         Executes the program up to the start of that
         routine.  This enables you to step into, and
         then through, the called routine.  You can
         choose to have the Step command step "over"
         routines that are called by JSB instructions,
         routines in shareable images, or system service
         routines (by means of the corresponding
         buttons, which are displayed below this
         button).

      +  Button off (default):
         Executes the called routine up to and including
         the routine's RET instruction (steps over the
         routine).


 If you are establishing defaults for subsequent Step
 commands:

  -  Button on:
     Causes the Step command to execute the program step
     by step within called routines as well as within
     the routine in which execution is currently
     suspended.

  -  Button off (default):
     Causes the Step command to execute the program step
     by step only within the routine in which execution
     is currently suspended.  The Step command executes
     any called routine up to and including its RET
     instruction (steps over the routine).

jsb routines button

=title Within Routines Called by a JSB Instruction
=include debug Step_Dialog_Box within_called_routines_button
This button applies only when the Within Called Routines
 button is on.

 Button on (default for all languages except DIBOL):
    Causes the Step command to execute the program step
    by step within routines that are called by the JSB
    or CALL instruction.

 Button off (DIBOL default):
    Causes the Step command to execute routines that are
    called by a JSB instruction in only one step, up to
    and including their RET instructions.  In DIBOL,
    user-written routines are called by the CALL
    instruction and DIBOL run-time library routines are
    called by the JSB instruction.

shareable routines button

=title Within Called Routines in Shareable Images
=include debug Step_Dialog_Box within_called_routines_button
This button applies only when the Within Called Routines
 button is on.

 Button on (default):
    Causes the Step command to execute the program step
    by step within called routines in shareable images.

 Button off:
    Causes the Step command to execute called routines
    in shareable images in only one step, up to and
    including their RET instructions.

system routines button

=title Within Called System Service Routines
=include debug Step_Dialog_Box within_called_routines_button
This button applies only when the Within Called Routines
 button is on.

 Button on (default):
    Causes the Step command to execute the program step
    by step within called system service routines.

 Button off:
    Causes the Step command to execute called system
    service routines in only one step, up to and
    including their RET instructions.

Symbol Dialog Box

=Title Symbolize Address or Register Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug g_Symb
=include debug g_intro_to_addrexpr
Use this dialog box to display the symbolic name (if
 any) that is associated with a memory address or
 register.  The name is displayed with its path name
 prefix.

 Proceed as follows:

 1.  Enter an address or a register symbol in the
     Address Expression field.

 2.  Click on OK or Apply to display the symbol in the
     output window.

 If the address is a static address, it is symbolized as
 the nearest preceding symbol name, plus an offset.  If
 the address is also a code address and a line number
 can be found that covers the address, the line number
 is included in the symbolization.  If the address is a
 register address, the debugger displays all symbols in
 all set modules that are bound to that register.  The
 full path name of each such symbol is displayed.  The
 register name itself ("%R5", for example) is also
 displayed.

 If the address is a stack location in the call frame of
 a routine in a set module, the debugger searches for
 all symbols in that routine whose addresses are
 relative to the Frame Pointer or the Stack Pointer.
 The closest preceding symbol name plus an offset is
 displayed as the symbolization of the address.  A
 symbol whose address specification is too complex is
 ignored.

 If the debugger can find no symbolization for the
 address, a message is displayed.

Watch Dialog Box

=Title Watch Dialog Box
=include debug g_ok_apply_cancel_buttons
Use the Watch dialog box to set, identify, or cancel
 watchpoints.

 A watchpoint is a memory address, register, or
 (typically) a variable declared in the program whose
 value is monitored during program execution.  If the
 value changes, the debugger suspends execution and
 reports the old and new values.

 Note that you can set a watchpoint on a nonstatic
 (stack or register) variable only when program
 execution is currently suspended within the scope of
 its defining routine---that is, when the defining
 routine is active on the call stack.  See Static and
 Nonstatic (Stack or Register) Watchpoints.

Additional information available:

behavior watch dialogg set watchidentify watchcancel watchstatic nonstatic watch
global sec watchshareable image watchvec reg watchset canceladdress expression field
watchpoint list boxnotificationtrigger in calls buttoncondition field
after passes fieldaction field

behavior watch dialog

=title Debugger Behavior at Watchpoints
Whenever an instruction causes the modification of a
 watchpoint location, the debugger takes the following
 action:

 1.  Suspends program execution after that instruction
     has completed execution.

 2.  If an integer value was specified in the After
     field when the watchpoint was set, checks the
     current count.  If the specified number of counts
     has not been reached, execution is resumed and the
     debugger does not perform the remaining steps.

 3.  Evaluates the expression that was specified in the
     Condition field, if any, when the watchpoint was
     set.  If the value of the expression is false,
     execution is resumed and the debugger does not
     perform the remaining steps.

 4.  Reports that execution has reached the watchpoint
     location by issuing a "watch..." message, unless
     the 'off' option was specified in the Notification
     option menu.

 5.  Reports the old (unmodified) value at the
     watchpoint location.

 6.  Reports the new (modified) value at the watchpoint
     location.

 7.  Displays the line of source code in which execution
     is suspended, unless the 'off' or 'on, without
     source display' option was specified in the
     Notification option menu, either in the Watch
     dialog box or, previously, as a Step command
     default in the Step dialog box.

 8.  Executes the debugger commands specified in the
     Action field, if any were specified when the
     watchpoint was set.  If a Go command was specified,
     execution continues.

g set watch

=title Setting Watchpoints
=include debug Watch_Dialog_Box static_nonstatic_watch
=include debug Watch_Dialog_Box global_sec_watch
=include debug Watch_Dialog_Box
 To set a watchpoint with the Watch dialog box, proceed
 as follows:

 1.  Choose the appropriate 'Set...' option from the
     Set/Cancel (upper-left) option menu.  In most cases
     you want to choose the 'Set watchpoint' option.

     A temporary watchpoint disappears after it is
     triggered.  The watchpoint does not remain
     permanently set.

 2.  Enter an address expression in the Address
     Expression field to specify the watchpoint
     location.  In general, you can specify an address
     expression that is associated with either data or
     code (VAX instructions).  However, for high-level
     languages, you usually specify a variable name (a
     symbolic address expression that is associated with
     data).

     Or, before opening the dialog box, select the
     variable name in a window.  The name is
     automatically inserted in the Address Expression
     field.

 3.  Choose any additional options from the dialog box,
     then click on OK or Apply.

 Any watchpoints that are currently set are identified
 in the list box.

identify watch

=title Identifying the Current Watchpoints
Any watchpoints that are currently set are identified in
 the list box of the Watch dialog box.

 If you established a watchpoint using the After field,
 the current value of the decimal integer N is displayed
 (that is, the originally specified integer value minus
 one for each time the watchpoint location was reached).
 The debugger decrements N each time the watchpoint
 location is reached until the value of N is zero, when
 the debugger takes watch action.

cancel watch

=title Canceling Watchpoints
Any watchpoints that are currently set are identified in
 the list box.  To cancel a watchpoint:

 1.  In the list box, click on the watchpoint to be
     canceled.

 2.  Click on the Cancel selected option from the
     Set/Cancel (upper) option menu.

 3.  Click on OK or Apply.

 Note that a nonstatic watchpoint (a watchpoint set on a
 stack or register variable) is canceled automatically
 when execution leaves the routine where that variable
 is defined.

static nonstatic watch

=title Static and Nonstatic (Stack or Register) Watchpoints
=include debug Watch_Dialog_Box set_cancel static
=include debug Watch_Dialog_Box trigger_in_calls_button
=include debug g_resolve_symb_using_callframe
=include debug Watch_Dialog_Box shareable_image_watch
=include debug Watch_Dialog_Box
 To set a watchpoint, choose Watch...  from the Control
 menu.

 The technique for setting a watchpoint depends on
 whether the variable is static or nonstatic.  A static
 variable is associated with the same memory address
 throughout execution of the program.  You can always
 set a watchpoint on a static variable throughout
 program execution.

 A nonstatic variable is allocated on the stack or in a
 register and has a value only when its defining routine
 is active (on the call stack).  Therefore, you can set
 a watchpoint on a nonstatic variable only when
 execution is suspended within the scope of the defining
 routine (including any routine called by the definining
 routine).

 Similarly, a nonstatic watchpoint is cancelled when
 execution returns from the defining routine.  The
 debugger notifies you if you try to set a watchpoint
 when a variable is not active and also when it cancels
 a nonstatic watchpoint.

 A common technique for setting a nonstatic watchpoint
 (for example, on a variable X) is to set a tracepoint
 on the defining routine, also specifying the command
 SET WATCH X in the Action field of the Break dialog
 box.  Thus, whenever the routine is called, the
 tracepoint is triggered, and the watchpoint is
 automatically set on the local variable.

 In addition to storage allocation, another distinction
 between static and nonstatic watchpoints is speed of
 execution.  To watch a static variable, the debugger
 write-protects the page containing the variable.  If
 your program attempts to write to that page, an access
 violation occurs and the debugger handles the
 exception, determining whether the watched variable was
 modified.  Except when writing to that page, the
 program executes at normal speed.

 To watch a nonstatic variable, the debugger traces
 every instruction in the variable's defining routine
 and checks the value of the variable after each
 instruction has been executed.  Because this
 significantly slows down execution, the debugger issues
 a message when you set a nonstatic watchpoint.

 As explained in the next paragraphs, the Watch dialog
 box provides options that enable you to exercise some
 control over speed of execution and other factors when
 watching variables.

 The debugger determines whether a variable is static or
 nonstatic by checking how it is allocated.  Typically,
 a static variable is in P0 space (0 to 3FFFFFFF,
 hexadecimal); a nonstatic variable is in P1 space
 (40000000 to 7FFFFFFF) or in a register.  By default,
 the debugger issues a warning if you try to set a
 watchpoint on a variable that is allocated in P1 space
 or in a register when execution is not currently
 suspended within the scope of the defining routine.

 The option 'Set nonstatic watchpoint' on the Set/Cancel
 (upper) option menu of the Watch dialog box enables you
 to override the default behavior in certain conditions.
 For example, if you have allocated your own stack in P0
 space, choose 'Set nonstatic watchpoint' when setting a
 watchpoint on a variable that is allocated on that
 stack.  This enables the debugger to treat the
 watchpoint as a nonstatic watchpoint.

 When using the Watch dialog box, you can also control
 the execution speed for nonstatic watchpoints by means
 of the button labeled Trigger Watchpoint in Called
 Routines.

global sec watch

=title Global Section Watchpoints
You can set watchpoints on variables or arbitrary
 program locations in global sections.  A global section
 is a region of memory that is shared among all
 processes of a multiprocess program.  A watchpoint that
 is set on a location in a global section (a global
 section watchpoint) triggers when any process modifies
 the contents of that location.

 You set a global section watchpoint just as you would
 set a watchpoint on a static variable.  However, when
 setting watchpoints on arrays or records, performance
 is improved if you specify individual elements rather
 than the entire structure in the Address Expression
 field of the Watch dialog box.

 If you set a watchpoint on a location that is not yet
 mapped to a global section, the watchpoint is treated
 as a static watchpoint.  When the location is
 subsequently mapped to a global section, the watchpoint
 is automatically treated as a global section watchpoint
 (an informational message is issued).  The watchpoint
 is then visible from each process of the multiprocess
 program.

shareable image watch

=title Shareable Image Watchpoints
=include debug Watch_Dialog_Box static_nonstatic_watch
=include debug Watch_Dialog_Box set_cancel static
 When setting a watchpoint in an installed writeable
 shareable image, you must choose 'Set nonstatic
 watchpoint' from the Set/Cancel (upper) option menu of
 the Watch dialog box.

 The reason you must set a nonstatic watchpoint is as
 follows.  Variables declared in such shareable images
 are typically static variables.  By default, the
 debugger watches a static variable by write-protecting
 the page containing that variable.  However, the
 debugger cannot write-protect a page in an installed
 writeable shareable image.  Therefore, the debugger
 must use the slower method of detecting changes, as for
 nonstatic variables---that is, by checking the value at
 the watched location after each instruction has been
 executed.

 Note that if any other process modifies the watched
 location's value, the debugger may report that your
 program modified the watched location.

vec reg watch

=title Vector Register Watchpoints
=include debug g_vector
 See Debugging Vectorized Programs for information about
 setting watchpoints on vector registers.

set cancel

=title Set/Cancel (Upper) Option Menu
Use the Set/Cancel option menu to specify that you want
 to set or cancel one or more watchpoints.

 A temporary watchpoint disappears after it is
 triggered.  The watchpoint does not remain permanently
 set.

 Use the 'Cancel selected watchpoint' option to cancel a
 watchpoint that you selected in the list box:

 1.  In the list box, click on the watchpoint to be
     canceled.

 2.  Click on the Cancel selected watchpoint option from
     the Set/Cancel option menu.

 3.  Click on OK or Apply.

Additional information available:

static

static

=title 'Set nonstatic watchpoint' Option
=include debug Watch_Dialog_Box static_nonstatic_watch
=include debug Watch_Dialog_Box set_cancel
=include debug Watch_Dialog_Box shareable_image_watch
The 'Set nonstatic watchpoint' option (and 'Set
 temporary nonstatic watchpoint' option) on the
 Set/Cancel (upper) option menu enable you to override
 the debugger's default determination of whether a
 specified variable (watchpoint location) is static or
 nonstatic.

 Use these options to specify that the debugger should
 treat the variable as a nonstatic variable, even though
 it might be allocated in P0 space.  This causes the
 debugger to monitor the location by tracing every
 instruction.

 Exercise caution when using these options.

address expression field

=title Address Expression Field
=include debug g_selecting_variables
=include debug g_specifying_variables
=include debug g_specifying_code
=include debug g_intro_to_addrexpr
You can fill this field automatically by selecting text
 in a window before opening the dialog box.

 For high-level language programs, the address
 expressions you specify as watchpoints in this field
 are typically the names of variables.

 In the case of structured variables (arrays, records,
 and so on), you can specify either the entire aggregate
 or an individual element.  A watchpoint set on an
 aggregate triggers if any element changes.  Thus, you
 do not need to set watchpoints on individual array
 elements or record components.  Note, however, that you
 cannot set an aggregate watchpoint on a variant record.

 If you specify a memory address that is associated with
 a compiler-generated type, the debugger symbolizes the
 address and uses the length in bytes associated with
 that type to determine the length in bytes of the
 watchpoint location.

 If you specify a memory address that the debugger
 cannot associate with a compiler-generated type, the
 debugger monitors 4 bytes (1 longword) of memory by
 default, beginning at the byte identified by the
 address.  You can change this length, however, by
 setting the default type to either WORD (length 2
 bytes) or BYTE (length 1 byte) by choosing Datatype
 Defaults...  from the Customize menu.

watchpoint list box

=title Watchpoint List Box
The list box identifies the watchpoints that are
 currently set.

 If you established a watchpoint using the After field,
 the current value of the decimal integer N is displayed
 (that is, the originally specified integer value minus
 one for each time the watchpoint location was reached).
 The debugger decrements N each time the watchpoint
 location is reached until the value of N is zero, when
 the debugger takes watch action.

notification

=title Notification Option Menu
The Notification option menu controls the debugger
 output that is displayed when the watchpoint is
 triggered.

 On, with source display (default):
    The "watch..." message and the source line for the
    current location are displayed at the watchpoint.

 On, without source display:
    The "watch..." message is displayed at the
    watchpoint, but the source line for the current
    location is not displayed.

 Off:
    Neither the "watch..." message nor the source line
    for the current location are displayed at the
    watchpoint.

 Note that the default Notification option that is
 established for the Step command in the Step dialog box
 also affects the debugger output when any breakpoint,
 tracepoint, or watchpoint is triggered.  The
 Notification option you choose in the Watch dialog box
 overrides the default established in the Step dialog
 box, but only for the watchpoint that you are setting.

trigger in calls button

=title Trigger Watchpoint in Called Routines Button
This button enables you to control the execution speed
 for nonstatic watchpoints in called routines.

 Button on:
    Specifies that the debugger monitors a nonstatic
    variable by tracing instructions not only within the
    defining routine, but also within a routine that is
    called from the defining routine (and any other such
    nested calls).  This enables you to monitor
    nonstatic variables within called routines more
    precisely than when the button is off.  But the
    speed of execution within called routines is faster
    when the button is off.

 Button off (default):
    Specifies that the debugger monitors a nonstatic
    variable by tracing instructions only within the
    defining routine.  As a result, the debugger
    executes a called routine at normal speed and
    resumes tracing instructions only when execution
    returns to the defining routine.  Execution is
    faster when the button is off.  But if a called
    routine modifies the watched variable, execution is
    interrupted only upon returning to the defining
    routine.

condition field

=title Condition Field
Use this field to specify a conditional expression in
 the currently set language that is to be evaluated when
 execution reaches the watchpoint.  If the expression is
 true, watch action occurs, and the debugger reports
 that a watchpoint has been triggered.  If the
 expression is false, watch action does not occur, and
 program execution is continued.

after passes field

=title After ___ Pass Field
Use this field to specify that watch action not be taken
 until the Nth time the designated watchpoint is
 encountered (after N passes).  Specify N as a decimal
 integer.  The default is 1.

 Thereafter, watch action occurs every time the
 watchpoint is encountered provided that conditions in
 the Condition field (if specified) are true.

action field

=title Action Field
=include debug g_cmd_mode
Use this field to specify one or more debugger commands
 to be executed when watch action is taken.  Use
 semicolons (;) to separate command strings.

Wind Dialog Box

=Title Windows Dialog Box
=include debug g_ok_apply_cancel_buttons
Use the Windows dialog box to modify or create the
 following kinds of debugger windows:

   Source windows, such as the predefined window SRC

   Output windows, such as the predefined window OUT

   Automatic windows, such as the predefined window AUTO

   Instruction windows, such as the predefined window INST

   Register windows, such as the predefined window REG

 Note:  You cannot manipulate other kinds of debugger
 windows, such as the main window or COMMAND box, with
 the Windows dialog box.

 When you open the Windows dialog box, any existing
 window of the kind specified is identified in the list
 box.  However, window AUTO is created (and listed) only
 after you open it by clicking on the Display button in
 any one of the following dialog boxes (accessible from
 the Data menu):

   Examine Variable
   Examine Address or Register
   Language Expressions

 You can use the debugger predefined windows as examples
 for your own window definitions.

 If you are debugging a multiprocess program, see Using
 Process-Specific Windows.  The Window Name Suffix
 buttons and the Process field are used with
 process-specific windows.

Additional information available:

g wkinds attribs actsg predwndsg modify wndg create wndg proc windows
g window fieldg display list boxg wkindsg wind attribg window name
g actiong process fieldg buffer size fieldg position in pixels fields
g dimension in pixels fields

g wkinds attribs acts

=title Overview of Window Kinds, Attributes, and Actions
=include debug Cust_Menu_Windows_Button
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug Wind_Dialog_Box g_predwnds
=include debug Wind_Dialog_Box g_modify_wnd
=include debug Wind_Dialog_Box g_create_wnd
=include debug g_cmd_mode
=include debug g_display_source
=include debug g_display_instructions
By choosing Windows...  from the Customize menu, you can
 create or modify debugger windows of the following
 kinds.

   Source windows, such as the predefined window SRC

   Output windows, such as the predefined window OUT

   Automatic windows, such as the predefined window AUTO

   Instruction windows, such as the predefined window INST

   Register windows, such as the predefined window REG

 The window kind determines what type of information the
 window can capture and display:

  -  A source window displays the source code of your
     program.

  -  An instruction window displays the decoded VAX
     assembly-language instructions for the code that is
     actually executing.  If your program has been
     optimized during compilation, the instruction
     stream might not correspond to the source code
     displayed in the source window.  Thus, one use for
     instruction windows is to verify the path of
     execution when debugging optimized code.

  -  An output window is a general-purpose window that
     can display any debugger output that is not already
     directed to another, special purpose, window (such
     as a source or instruction window).

  -  An automatic window is a window whose definition
     includes one or more commands, as specified in the
     Action field of the Windows dialog box.  Whenever
     the debugger suspends execution, the commands are
     executed automatically, and the window is updated
     with the output of the commands.  For example, you
     can use an automatic window to display the current
     values of some variables during the course of a
     debugging session.

  -  A register window displays the contents of the VAX
     general registers and related information.

 The window kind can also determine how the contents of
 the window are generated.  There are two possibilities:

  -  Some windows are automatically updated.  Their
     definition includes one or more debugger commands
     that are executed whenever the debugger gains
     control from the program.  The output of the
     commands forms the contents of those windows.

     Window SRC belongs to this category:  it is
     automatically updated so that an arrow centered in
     the window shows the source line at which execution
     is currently suspended.

     When you create this kind of window, you specify
     the debugger commands in the Action field of the
     Windows dialog box.

     You can determine the built-in commands for an
     existing window (for example, SRC or INST) by
     selecting its name from the Windows dialog box list
     box and looking at the Action field.

  -  Other windows, for example, the predefined window
     OUT, derive their contents from commands you enter
     interactively.  If you create a window of this
     general category, you must first assign one or more
     attributes to that window before anything can be
     written to it.  The attribute defines the type of
     information that is written to the window (source,
     instruction, output, echo input, messages).  The
     attributes you can assign to a window depend on the
     window kind.

     You can determine the attributes that are currently
     assigned to a window (if any) by selecting its name
     from the Windows dialog box list box and looking at
     the state of the Window Attributes buttons.

     When a window has a particular attribute, XXX, it
     is referred to as the current XXX window.  For
     example, the window that has the instruction
     attribute is the current instruction window.

 By default, attributes are assigned as follows to the
 debugger predefined windows:

    Attribute:     Window:
     Source         SRC
     Output         OUT
     Instruction    none
     Echo input     none
     Messages       OUT

 Although SRC is automatically updated by its own
 built-in command, it can also receive the output of
 certain interactive commands because it has the source
 attribute by default.  For example, if you choose View
 Source from the Commands menu of window SRC and specify
 a line number in the View Source dialog box, that
 source line is then centered and boxed in window SRC.

g predwnds

=title Debugger Predefined Windows (SRC, OUT, AUTO, INST, REG)
=include debug g_display_predwnds
=include debug Cust_Menu_WSetups_Entry
=include debug Cust_Menu_MPwind_Entry
=include debug Wind_Dialog_Box g_wkinds_attribs_acts
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug g_display_source
=include debug g_display_instructions
=include debug Wind_Dialog_Box g_modify_wnd
=include debug Wind_Dialog_Box g_create_wnd
=include debug The_Popup_Menu
The debugger provides the following predefined windows
 that you can use to capture and display different kinds
 of data:

  -  SRC, the predefined source window

  -  OUT, the predefined output window

  -  AUTO, the predefined automatic window (a special
     output window)

  -  INST, the predefined instruction window

  -  REG, the predefined register window

 Of these windows, only SRC and OUT are displayed by
 default at debugger startup.  See Displaying the
 Predefined Windows INST, REG, and AUTO.

 The basic features of the predefined windows are
 described in the additional topics.  You can change
 certain characteristics of these windows, such as
 buffer size or window attributes, by choosing
 Windows...  from the Customize menu in the main window.
 You can also create additional windows similar to the
 predefined windows from the Windows...  dialog box.

 Choosing Window Setups from the Customize menu enables
 you to quickly establish any of three useful window
 configurations by clicking on a layout.  The first
 layout is the default window configuration at debugger
 startup.

Additional information available:

g srcg outg autog instg reg

g src

=title Predefined Source Window (SRC)
=include debug Wind_Dialog_Box g_predwnds
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug g_display_source
=include debug g_source_notavailable
=include debug SRC_Display_Menu_Bar
Window SRC, which is displayed by default at debugger
 startup, is an automatically updated source window.

 You can use SRC to display source code in two basic
 ways:

  -  By default, SRC automatically displays the source
     code for the module that contains the routine in
     which execution is currently suspended.  This
     enables you to quickly determine your current
     debugging context.

  -  In addition, because SRC has the source attribute
     by default, you can use it to display the source
     code for any part of your program.

 The name of the module whose source code is displayed
 is shown at the right of the window name, SRC.  The
 numbers displayed at the left of the source code are
 the compiler-generated line numbers, as they might
 appear in a compiler-generated listing file.

 As you execute the program under debugger control, SRC
 is updated automatically whenever execution is
 suspended.  The boxed line is the line to be executed
 next.  Specifically, execution is suspended at the
 first instruction associated with the boxed line.
 Thus, the boxed line corresponds to the current PC
 value.  The PC (program counter) is a VAX register that
 contains the memory address of the next instruction to
 be executed.

 If the debugger cannot locate source code for the
 routine in which execution is suspended (because, for
 example, the routine is a run-time library routine), it
 tries to display source code in the next routine down
 on the call stack for which source code is available.
 If the debugger can display source code for such a
 routine, it issues the following message:

  SOURCESCOPE, Source lines not available for .0\%PC.
    Displaying source in a caller of the current routine.

 In such cases, the boxed line in the source window
 identifies the line that contains code following the
 call statement in the calling routine.  See Making
 Source Code Available for Display for more information.

 The built-in command that automatically updates SRC is
 EXAMINE/SOURCE .%SOURCE_SCOPE\%PC.  This command causes
 SRC to display the source code for the routine that is
 identified in the Call Frame field in the main window,
 if source code is available for that routine.  By
 default, this is the routine in which execution is
 currently suspended (the routine at the top of the call
 stack).

 If your program was optimized during compilation, the
 source code displayed in SRC might not always represent
 the code that is actually executing.  See Debugging
 Optimized Code.

g out

=title Predefined Output Window (OUT)
=include debug Wind_Dialog_Box g_predwnds
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug OUT_Display_Menu_Bar
Window OUT is a general purpose output window.

 By default, OUT has the output and messages attributes.
 Therefore, it displays the following information:

  -  Any debugger output that is not directed to windows
     SRC, INST, or AUTO.  For example, if window INST is
     not displayed or does not have the instruction
     attribute, any output that would otherwise update
     window INST is displayed in window OUT.

  -  Debugger diagnostic messages.  Messages with a
     severity level greater than I (informational) are
     also displayed in a message box.

 Note that, when displaying variable names, routine
 names, and other symbolic address expressions, the
 debugger adds a path name prefix to the name.  The path
 name prefix identifies the nesting program elements in
 which the entity was declared in the program.  For
 example, if you examined a variable K, whose value was
 26, in routine SWAP of module SWAP_PACK, the debugger
 might display the following output:

      SWAP_PACK\SWAP\K: 26

 In this case, SWAP_PACK\SWAP\ is the path name prefix.

 In most cases, you do not need to include a path name
 prefix when specifying symbolic address expressions.
 See Understanding Symbol Path Names.

g auto

=title Predefined Automatic Window (AUTO)
=include debug Wind_Dialog_Box g_predwnds
=include debug g_display_predwnds
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug AUTO_Display_Menu_Bar
=include debug AUTO_Disp_Cmds_Menu_Entry
Note:  By default, the predefined automatic window AUTO
 is not displayed.  See Displaying the Predefined
 Windows INST, REG, and AUTO.

 Window AUTO is an automatic window.

 You can use AUTO instead of window OUT to display the
 output from the following dialog boxes (which are
 accessible from the Data menu):

    Examine Variable
    Examine Address or Register
    Language Expressions

 Window AUTO is created when you first click on the
 Display button in any one of these dialog boxes.
 Thereafter, AUTO remains open until you close it.

 AUTO includes a debugger command list in its
 definition.  Every time the debugger gains control,
 AUTO is updated with the output of that command list.

 When AUTO is created, its command list consists of the
 Examine or Evaluate command that was generated when you
 clicked on the Display button, and it displays the
 output of that command.

 Subsequently, every time you click on the Display
 button in any of the three dialog boxes listed, the
 debugger appends the new command generated to the
 current command list and updates AUTO to display the
 output from the entire command list.

 The usual way to add or delete a command from the
 definition of a window such as AUTO is to choose
 Windows...  from the Customize menu and then update the
 command list in the Action field for that window.  As
 an alternative, the Commands menu on window AUTO
 enables you to quickly add or delete an Examine command
 from the command list for that window by selecting
 text, without having to open the Windows dialog box.

g inst

=title Predefined Instruction Window (INST)
=include debug Wind_Dialog_Box g_predwnds
=include debug g_display_predwnds
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug g_display_instructions
=include debug INST_Display_Menu_Bar
Note:  By default, the predefined instruction window
 INST is not displayed and does not have the instruction
 attribute.  See Displaying the Predefined Windows INST,
 REG, and AUTO.

 Window INST is an automatically updated instruction
 window.

 INST displays the decoded VAX assembly-language
 instruction stream of your program.  This is the exact
 code that is executing, including the effects of any
 compiler optimization.  The topic Debugging Optimized
 Code explains how to use INST with the source window
 SRC when debugging optimized code.

 You can use INST in two basic ways:

  -  By default, INST automatically displays the decoded
     instructions for the routine in which execution is
     currently suspended.  This enables you to quickly
     determine your current debugging context.

  -  In addition, if INST has the instruction attribute,
     you can use it to display the decoded instructions
     for any part of your program.

 The name of the routine whose instructions are
 displayed is shown at the right of the window name,
 INST.  The numbers displayed at the left of the
 instructions are the compiler-generated source line
 numbers.

 As you execute the program under debugger control, INST
 is updated automatically whenever execution is
 suspended.  The instruction at which execution is
 suspended (the instruction at the current PC value) is
 boxed.

 The built-in command that automatically updates INST is
 EXAMINE/INSTRUCTION .%INST_SCOPE\%PC.  This command
 causes INST to display the instructions for the routine
 that is identified in the Call Frame field in the main
 window.  By default, this is the routine in which
 execution is currently suspended (the routine at the
 top of the call stack).

g reg

=title Predefined Register Window (REG)
=include debug Wind_Dialog_Box g_predwnds
=include debug g_display_predwnds
=include debug Wind_Dialog_Box g_wkinds
=include debug REG_Display_Menu_Bar
=include debug Wind_Dialog_Box g_wkinds g_autowk auto
=include debug g_vector
Note:  By default, the predefined register window REG is
 not displayed.  See Displaying the Predefined Windows
 INST, REG, and AUTO.

 Window REG is an automatically updated window that
 displays the current values, in hexadecimal format, of
 the VAX general registers (R0 to R11, AP, FP, SP, and
 PC), the four condition code bits (C,V, Z, and N) of
 the processor status longword (PSL), and as many of the
 top stack values as can be displayed in the window.

 The register values displayed are for the routine in
 which execution is currently suspended.

 The register values are updated whenever the debugger
 takes control.

 Window REG does not display the current values of the
 VAX vector registers.  To display data contained in
 vector registers or vector control registers in a
 dedicated window, create an automatic window for that
 purpose.

 For example, an automatic window with the following
 built-in command (specified in the Action field of the
 Windows dialog box), displays the contents of elements
 4 to 7 of register V2 (FORTRAN array syntax):

    EXAMINE %V2(4:7)

 The window is automatically updated whenever the
 debugger gains control from the program.

g modify wnd

=title Modifying Debugger Windows
=include debug Cust_Menu_Windows_Button
=include debug Wind_Dialog_Box g_wkinds_attribs_acts
=include debug Wind_Dialog_Box g_create_wnd
=include debug Wind_Dialog_Box g_predwnds
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug g_cmd_mode
=include debug Cust_Menu_WSetups_Entry
=include debug Cust_Menu_MPwind_Entry
=include debug Wind_Dialog_Box g_proc_windows
=include debug g_display_source
=include debug g_display_instructions
To modify an existing window, proceed as follows:

 1.  Choose Windows...  from the Customize menu.

 2.  Click on the window name in the list box of the
     Windows dialog box.  This updates the dialog box
     with the selected window's name and its current
     parameters (window name, kind, attributes, action,
     position, dimension, and so on).

 3.  Modify the window parameters as desired.

 4.  Click on OK or Apply.

g create wnd

=title Creating Debugger Windows
=include debug Wind_Dialog_Box g_wkinds g_srcwk src
=include debug Wind_Dialog_Box g_wkinds g_outwk out
=include debug Wind_Dialog_Box g_wkinds g_autowk auto
=include debug Wind_Dialog_Box g_wkinds g_instwk inst
=include debug Wind_Dialog_Box g_wkinds g_regwk reg
=include debug Wind_Dialog_Box g_proc_windows create_wnd
=include debug Wind_Dialog_Box g_modify_wnd
The additional topics explain how to create debugger
 windows to capture and display specific data.

g proc windows

=title Using Process-Specific Windows
=include debug g_multiproc
=include debug Cust_Menu_Windows_Button
=include debug Process_Status_L_Button
=include debug Cust_Menu_MPwind_Entry
=include debug Wind_Dialog_Box g_wkinds_attribs_acts
=include debug Wind_Dialog_Box g_predwnds
 Note:  Process-specific windows are used to debug
 multiprocess programs.

 In a multiprocess debugging configuration, the
 predefined windows SRC, INST, OUT, and REG are
 associated with the visible process.  For example,
 window SRC shows the source code where execution is
 suspended in the visible process, window OUT shows the
 output of commands executed in the context of the
 visible process, and so on.

 Similarly, any windows you create with the Windows
 dialog box are associated with the visible process,
 unless you specify a process in the Process field.

 In a multiprocess configuration, the predefined
 tracepoint on process activation automatically creates
 a new source window and a new instruction window for
 each new process that comes under debugger control.
 The windows have the names SRC_n and INST_n,
 respectively, where n is the process number.

 These predefined process-specific source and
 instruction windows are not displayed by default.
 However you can open them by choosing Multiprocess
 Window Setups from the Customize menu.

 You can also use several predefined keypad-key
 sequences to manipulate these process-specific windows
 (see Entering Debugger Commands from the Keypad).

 The contents of a process-specific window are generated
 and modified in the context of that process.

 Any process-specific source and instruction windows
 that are created by the debugger on process activation
 are automatically canceled by the predefined tracepoint
 on process termination.

Additional information available:

create wnd

create wnd

=title Creating Process-Specific Windows
=include debug Cust_Menu_Windows_Button
=include debug Wind_Dialog_Box g_proc_windows
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug Wind_Dialog_Box g_create_wnd
=include debug g_multiproc
In a multiprocess configuration, the predefined
 tracepoint on process activation automatically creates
 a new source window and a new instruction window for
 each new process that comes under debugger control.
 The windows have the names SRC_n and INST_n,
 respectively, where n is the process number.

 In addition to using these windows, you can create your
 own process-specific windows and make existing windows
 process specific.  You can make windows of any window
 kind process specific (source, instruction, output,
 automatic, or register).

 To create a process-specific window:

 1.  Choose Windows...  from the Customize menu.

 2.  Specify the window name in the Window field of the
     Windows dialog box.

 3.  Specify the window kind, attributes, and action, as
     applicable.  You assign attributes to
     process-specific windows in the same way that you
     assign them to windows that are not process
     specific.

 4.  Specify the process-specification to be associated
     with that window in the Process field.

 5.  Specify any other options.

 6.  Click on OK or Apply.

 The following example shows how to create an
 automatically updated source window named 3SOURCE that
 is specific to process 3.  The window thus created
 displays the source code where execution is suspended
 in process 3.

 1.  Specify 3SOURCE in the Window field.

 2.  Specify the Source Window Kind (and Window
     Attribute, if desired).

 3.  Specify the command EXAM/SOURCE .%SOURCE_SCOPE\%PC
     in the Action field.  This command shows the source
     code where execution is suspended (or the source
     code for the caller routine, if no source code is
     available for display).

 4.  Specify %PROC 3 in the Process field.

 5.  Specify None under the Window Name Suffix label.

 The Window Name Suffix label and buttons are another
 multiprocess-debugging feature of the Windows dialog
 box.  Use these buttons to automatically append a
 process-specific suffix to the window name specified in
 the Window field.

 The suffix denotes the visible process at the time that
 the window is created or modified.  The suffix can be
 either the debugger assigned process number, the VMS
 process name, or the VMS process identifier number
 (PID).  Note that the process number and name of the
 visible process are displayed in the Visible Process
 field of the main window.

g window field

=title Window Field
Use this field to specify the name of a window that you
 want to modify or create.

 Note:  With the Windows dialog box, you can manipulate
 only debugger source, instruction, output, automatic,
 and register windows.  You cannot use the dialog box to
 manipulate other debugger windows (the main window, the
 COMMAND box, and so on).

 You can specify a window name in any of these ways:

  -  Type the window name in the Window field.

  -  Click on a window name in the list box.  The window
     field is filled automatically with that name.

  -  If text was selected when you opened the dialog
     box, the Window field is filled automatically.

g display list box

=title Window List Box
=include debug Wind_Dialog_Box g_predwnds
=include debug g_display_predwnds
The list box lists the names of all debugger source,
 instruction, output, automatic, and register windows
 that currently exist.

 At debugger startup, only the following predefined
 debugger windows are listed:

   SRC   predefined source window
   OUT   predefined output window
   INST  predefined instruction window
   REG   predefined register window

 Note:  By default, windows INST, REG, and AUTO are not
 displayed.  See Displaying the Predefined Windows INST,
 REG, and AUTO.

g wkinds

=title Window Kinds (Source, Output, Automatic, Instr, Reg)
=include debug Cust_Menu_Windows_Button
=include debug Wind_Dialog_Box g_wind_attrib
=include debug Wind_Dialog_Box g_wkinds_attribs_acts
=include debug Wind_Dialog_Box g_predwnds
You can create and modify the following kinds of windows
 by choosing Windows...  from the Customize menu:

   Source windows, such as the predefined window SRC

   Output windows, such as the predefined window OUT

   Automatic windows, such as the predefined window AUTO

   Instruction windows, such as the predefined window INST

   Register windows, such as the predefined window REG

 The window kind determines what type of information a
 window can capture and display and how that information
 is generated.

 To specify the window kind, click on the appropriate
 button under the Window Kind label in the Windows
 dialog box.

 You can modify the window kind of an existing window.

Additional information available:

g srcwkg outwkg autowkg instwkg regwk

g srcwk

=title Source Windows
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug Wind_Dialog_Box g_predwnds
=include debug g_display_source
=include debug SRC_Display_Menu_Bar
The source window kind specifies a window that displays
 source code as it might appear in a compiler-generated
 listing.

 The predefined window SRC is an example of a source
 window.

 If your program has been optimized during compilation,
 the source code displayed in a source window might not
 always reflect the code that is actually executing.
 See Debugging Optimized Code.

 In a source window, the numbers to the left of the
 source code are line numbers, as in a compiler listing.
 The box around a source line can indicate any of the
 following, depending on the command that last updated
 the displayed information:

  -  The source line at which execution is currently
     suspended (the line to be executed next)

  -  The source line that follows a routine call
     statement, if source code for a calling routine is
     being displayed

  -  The source line corresponding to an address
     expression that was specified through the Examine
     Code or View Instructions dialog box

Additional information available:

src

src
=title Creating a Source Window
=include debug Cust_Menu_Windows_Button
=include debug Wind_Dialog_Box g_wkinds g_srcwk
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug Wind_Dialog_Box g_wkinds_attribs_acts
=include debug Wind_Dialog_Box g_predwnds
=include debug g_display_source
=include debug g_cmd_mode
=include debug Wind_Dialog_Box g_proc_windows
=include debug Wind_Dialog_Box g_create_wnd
 To create a source window:

 1.  Choose Windows...  from the Customize menu.

 2.  Specify the window name in the Window field of the
     Windows dialog box.

 3.  Choose the Source option under the Window Kind
     label.

 4.  If you want the source window to be updated
     whenever you enter commands to display source code,
     choose the Source attribute.  This makes the window
     the current source window.

 5.  If you want the source window to be updated
     automatically by a built-in TYPE or EXAMINE/SOURCE
     command whenever the debugger takes control,
     specify that command in the Action field.

     Window SRC is an automatically updated source
     window.  You can determine its built-in command by
     selecting the name SRC from the Windows dialog box
     list box and looking at the Action field.  See The
     Debugger's Command Interface for details on command
     syntax.

 6.  Specify any other options.

 7.  Click on OK or Apply.

g outwk

=title Output Windows
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug Wind_Dialog_Box g_predwnds
=include debug OUT_Display_Menu_Bar
The output window kind specifies a general purpose
 window that can capture and display any debugger output
 that is not directed to another window (according to
 the attributes assigned to various windows).

 The predefined window OUT is an example of an output
 window.  By default, OUT has the output and messages
 attributes.

 If no source window has the source attribute, the
 current output window displays source code that results
 from the following actions (and would otherwise update
 the current source window):

  -  Clicking on View Current Location from the pop-up
     menu.

  -  Using the View Source dialog box (from the Commands
     menu of a source window).

  -  Using the Examine Code dialog box with the Source
     Code option (from the Data menu).

  -  Entering a TYPE or EXAMINE/SOURCE command in the
     COMMAND box.

 If no instruction window has the instruction attribute,
 the current output window displays instructions that
 result from the following actions (and would otherwise
 update the current instruction window):

  -  Clicking on View Current Location from the pop-up
     menu.

  -  Using the View Instructions dialog box (from the
     Commands menu of an instruction window).

  -  Using the Examine Code dialog box with the
     Instructions option (from the Data menu).

  -  Entering an EXAMINE/INSTRUCTION command in the
     COMMAND box.

Additional information available:

out

out
=title Creating an Output Window
=include debug Cust_Menu_Windows_Button
=include debug Wind_Dialog_Box g_wkinds g_outwk
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug Wind_Dialog_Box g_wkinds_attribs_acts
=include debug Wind_Dialog_Box g_predwnds
=include debug Wind_Dialog_Box g_proc_windows
=include debug Wind_Dialog_Box g_create_wnd
 To create an output window:

 1.  Choose Windows...  from the Customize menu.

 2.  Specify the window name in the Window field of the
     Windows dialog box.

 3.  Choose the Output option under the Window Kind
     label.

 4.  Assign any number of the following three attributes
     by choosing the appropriate option under the Window
     Attribute label:

       Output attribute
       Echo input attribute
       Messages attribute


 5.  Specify any other options.

 6.  Click on OK or Apply.

g autowk

=title Automatic Windows
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug Wind_Dialog_Box g_predwnds
=include debug Wind_Dialog_Box g_action
=include debug AUTO_Display_Menu_Bar
=include debug AUTO_Disp_Cmds_Menu_Entry
The automatic window kind specifies an automatically
 updated window that displays the output from one or
 more debugger commands (specified in the Action field
 of the Windows dialog box).  The commands are executed
 in the order listed whenever the debugger takes
 control.

 The predefined window AUTO that is optionally invoked
 from the Examine Variable, Examine Address or Register,
 and Language Expressions dialog boxes is an example of
 an automatic window.

 The Commands menu on an automatic window enables you to
 quickly add or delete an Examine command from the
 command list for that window without having to open the
 Windows dialog box.

Additional information available:

auto

auto
=title Creating an Automatic Window
=include debug Cust_Menu_Windows_Button
=include debug Wind_Dialog_Box g_wkinds g_autowk
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wkinds_attribs_acts
=include debug Wind_Dialog_Box g_predwnds
=include debug g_cmd_mode
=include debug Wind_Dialog_Box g_proc_windows
=include debug Wind_Dialog_Box g_create_wnd
 To create an automatic window:

 1.  Choose Windows...  from the Customize menu.

 2.  Specify the window name in the Window field of the
     Windows dialog box.

 3.  Choose the Automatic option under the Window Kind
     label.

 4.  Specify one or more commands in the Action field.
     Separate multiple commands with semicolons (;).

 5.  Specify any other options.

 6.  Click on OK or Apply.

g instwk

=title Instruction Windows
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug Wind_Dialog_Box g_predwnds
=include debug g_display_predwnds
=include debug g_display_instructions
=include debug INST_Display_Menu_Bar
The instruction window kind specifies a window that
 displays the decoded VAX assembly-language instruction
 stream for the image that is being debugged.

 Because an instruction window shows the exact code that
 is executing, it is particularly useful in helping you
 debug optimized code.  See Debugging Optimized Code.

 The predefined window INST is an example of an
 instruction window.  By default, INST is not displayed
 and does not have the instruction attribute.  See
 Displaying the Predefined Windows INST, REG, and AUTO.

 In an instruction window, the numbers to the left of
 the instructions are compiler-generated line numbers.
 The box around an instruction can indicate any of the
 following, depending on the command that last updated
 the displayed information:

  -  The instruction at which execution is currently
     suspended (the next instruction to be executed)

  -  The instruction that called a routine, if
     instructions for a calling routine are being
     displayed

  -  The instruction corresponding to an address
     expression that was specified through the Examine
     Code or View Instructions dialog boxes

Additional information available:

inst

inst
=title Creating an Instruction Window
=include debug Cust_Menu_Windows_Button
=include debug Wind_Dialog_Box g_wkinds g_instwk
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug Wind_Dialog_Box g_wkinds_attribs_acts
=include debug Wind_Dialog_Box g_predwnds
=include debug g_display_instructions
=include debug g_cmd_mode
=include debug Wind_Dialog_Box g_proc_windows
=include debug Wind_Dialog_Box g_create_wnd
 To create an instruction window:

 1.  Choose Windows...  from the Customize menu.

 2.  Specify the window name in the Window field of the
     Windows dialog box.

 3.  Choose the Instruction option under the Window Kind
     label.

 4.  If you want the instruction window to be updated
     whenever you enter commands to display
     instructions, choose the Instruction attribute.
     This makes the window the current instruction
     window.

 5.  If you want the instruction window to be updated
     automatically by a built-in EXAMINE/INSTRUCTION
     command whenever the debugger takes control,
     specify that command in the Action field.

     Window INST is an automatically updated instruction
     window.  You can determine its built-in command by
     selecting the name INST from the Windows dialog box
     list box and looking at the Action field.  See The
     Debugger's Command Interface for details on command
     syntax.

 6.  Specify any other options.

 7.  Click on OK or Apply.

g regwk

=title Register Windows
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug Wind_Dialog_Box g_predwnds
=include debug g_display_predwnds
=include debug REG_Display_Menu_Bar
=include debug Wind_Dialog_Box g_wkinds g_autowk auto
=include debug g_vector
The register window kind specifies an automatically
 updated window that shows the contents of the VAX
 general registers and related information.

 A register window displays the current values (in
 hexadecimal format) of the VAX general registers (R0 to
 R11, AP, FP, SP, PC), the four condition code bits
 (C,V, Z, and N) of the processor status longword (PSL),
 and as many of the top stack values as can be displayed
 through the window.

 The register values displayed are for the routine in
 which execution is currently suspended.

 The predefined window REG is an example of a register
 window.  By default, window REG is not displayed.  See
 Displaying the Predefined Windows INST, REG, and AUTO.

 The values contained in the registers are updated
 whenever the debugger takes control.

 Window REG does not display the current values of the
 VAX vector registers.  To display data contained in
 vector registers or vector control registers in a
 dedicated window, create an automatic window for that
 purpose.

 For example, an automatic window with the following
 built-in command (specified in the Action field of the
 Windows dialog box), displays the contents of elements
 4 to 7 of register V2 (FORTRAN array syntax):

    EXAMINE %V2(4:7)

 The window is automatically updated whenever the
 debugger gains control from the program.

Additional information available:

reg

reg
=title Creating a Register Window
=include debug Cust_Menu_Windows_Button
=include debug Wind_Dialog_Box g_wkinds g_regwk
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wkinds_attribs_acts
=include debug Wind_Dialog_Box g_predwnds
=include debug Wind_Dialog_Box g_proc_windows
=include debug Wind_Dialog_Box g_create_wnd
 To create a register window:

 1.  Choose Windows...  from the Customize menu.

 2.  Specify the window name in the Window field of the
     Windows dialog box.  To create a register window:

 3.  Choose the Register option under the Window Kind
     label.

 4.  Specify any other options.

 5.  Click on OK or Apply.

g wind attrib

=title Window Attributes
=include debug Cust_Menu_Windows_Button
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wkinds_attribs_acts
=include debug Wind_Dialog_Box g_predwnds
To assign one or more attributes to a debugger window,
 choose Windows...  from the Customize menu.

 The attributes that can be assigned to windows are as
 follows:

   Source
   Output
   Instruction
   Echo input
   Messages

 Each attribute represents some type of data (source
 code, input commands, diagnostic messages, and so on).
 Assigning an attribute to a window causes that window
 to receive and display that type of data.

 The attributes you can assign to a window depend on the
 window kind.

 To assign attributes to a window, proceed as follows:

 1.  Choose Windows...  from the Customize menu.

 2.  Enter the window name in the Window field of the
     Windows dialog box.

 3.  Click on the appropriate window kind button
     (source, instruction, output, automatic, or
     register).

 4.  Choose one or more window attributes, if applicable
     to that window kind.

 5.  Click on OK or Apply.

 By default, attributes are assigned as follows to the
 debugger predefined windows:

    Attribute:     Window:
     Source         SRC
     Output         OUT
     Instruction    none
     Echo input     none
     Messages       OUT

Additional information available:

g srcwag outwag instwag inpwag msgwa

g srcwa

=title Source Attribute
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug g_callframe_buttons_display_src
=include debug g_display_source
Assigning the source attribute establishes the specified
 window as the current source window.  The current
 source window is updated whenever you display source
 code through the following means:

  -  Click on View Current Location from the pop-up
     menu.

  -  Click on the Call Frame arrow buttons in the main
     window.

  -  Use the View Source dialog box (from the Commands
     menu of a source window).

  -  Use the Examine Code dialog box with the Source
     Code option (from the Data menu).

  -  Enter a TYPE or EXAMINE/SOURCE command in the
     COMMAND box or in an Action field of a dialog box.

 The source attribute can be assigned only to a source
 window.

 The predefined source window SRC has the source
 attribute by default.

 If no window has the source attribute, the output of
 these commands is directed at the current output
 window.

g outwa

=title Output Attribute
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
Assigning the output attribute establishes the specified
 window as the current output window.  The current
 output window displays any debugger output that is not
 otherwise directed to another window.

 The output attribute can be assigned only to an output
 window.

 The predefined output window OUT has the output
 attribute by default.

 If no window has the output attribute, debugger output
 that would otherwise be directed at the current output
 window is suppressed.

g instwa

=title Instruction Attribute
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug g_callframe_buttons_display_inst
=include debug g_display_instructions
=include debug Cust_Menu_WSetups_Entry
Assigning the instruction attribute establishes the
 specified window as the current instruction window.
 The current instruction window is updated whenever you
 display instructions through the following means:

  -  Click on View Current Location from the pop-up
     menu.

  -  Click on the Call Frame arrow buttons in the main
     window.

  -  Use the View Instructions dialog box (from the
     Commands menu of an instruction window).

  -  Use the Examine Code dialog box with the
     Instructions option (from the Data menu).

  -  Enter an EXAMINE/INSTRUCTION command in the COMMAND
     box or in an Action field of a dialog box.

 The instruction attribute can be assigned only to an
 instruction window.

 No window has the instruction attribute by default.

 If no window has the instruction attribute, the output
 of these commands is directed at the current output
 window.

 You can assign the instruction attribute to the
 predefined instruction window INST in any of the
 following ways:

  -  Use the Windows dialog box.

  -  Choose Window Setups from the Customize menu, then
     click on one of the two setups that include INST.
     This action automatically assigns the instruction
     attribute to INST.

g inpwa

=title Echo Input Attribute
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug Cust_Hide_Show_Command_DB
=include debug g_cmd_mode
=include debug g_log_file
An action that you direct at the debugger through the
 DECwindows interface (for example, by clicking on OK in
 a dialog box) is translated into a debugger command
 before it is processed by the debugger.

 You can determine the command that is issued in the
 following ways:

  -  Assign the echo input attribute to an output
     window.  This establishes the specified window as
     the current echo input window.  The current echo
     input window echoes the commands that are issued to
     the debugger.

     The current echo input window also echoes any
     commands that you enter directly in the COMMAND
     box.

  -  Open the COMMAND box by choosing Show Command...
     from the Customize menu.  Commands are echoed at
     the debugger prompt, DBG>.

 The echo input attribute can be assigned only to an
 output window.

 No window has the echo input attribute by default.

 If no window has the echo input attribute, commands are
 echoed only in the COMMAND box.

 You can assign the echo input attribute to the
 predefined output window OUT by using the Windows
 dialog box.

 Note that a debugger log file contains a record of the
 commands issued during a debugging session and the
 corresponding debugger output.

g msgwa

=title Messages Attribute
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
Assigning the messages attribute establishes the
 specified window as the current message window.  Under
 those conditions, debugger diagnostic messages (of all
 severity levels) are displayed in both a normal message
 window and the current message window.

 The messages attribute can be assigned only to an
 output window.

 The predefined output window OUT has the messages
 attribute by default.

 If no window has the messages attribute, debugger
 diagnostic messages are displayed in both a normal
 message window and the COMMAND box, if the latter is
 displayed.  To open the COMMAND box, choose Show
 Command...  from the Customize menu.

 Messages displayed in a message box show only the
 message text.  Also, only those messages whose severity
 level is greater than I (informational) are displayed
 in a message box.

 Messages displayed in the COMMAND box or in the current
 message window show the message text, ident, severity,
 and facility (DEBUG).

 You can assign the messages attribute to the predefined
 output window OUT by using the Windows dialog box.

g window name

=title Window Name Suffix
=include debug Wind_Dialog_Box g_proc_windows
=include debug Wind_Dialog_Box g_process_field
=include debug Process_Status_L_Button
=include debug g_multiproc
=include debug Cust_Menu_MPwind_Entry
Note:  This feature applies to multiprocess programs.

 Use the Window Name Suffix buttons to append a
 process-specific suffix to the window name specified in
 the Window field.  The suffix denotes the visible
 process at the time that the window is created or
 modified.

 The following Window Name Suffix options are available:

 None            No suffix is appended to the window name.

 Process Number  The process number of the visible process
                 is appended to the window name. It is the
                 process number that is displayed in the
                 Visible Process field of the main window.

 Process Name    The process name of the visible process
                 is appended to the window name. It is the
                 process name that is displayed in the
                 Visible Process field of the main window.

 Process ID      The VMS process identifier number (PID)
                 of the visible process is appended to
                 the window name.
 See Using Process-Specific Windows for more information
 about windowing features for multiprocess debugging.

g action

=title Action Field
=include debug Wind_Dialog_Box g_wkinds
=include debug Wind_Dialog_Box g_wind_attrib
=include debug Wind_Dialog_Box g_wkinds_attribs_acts
=include debug g_cmd_mode
Use this field to specify one or more debugger commands
 for an automatic, source, or instruction window.

 The commands are executed, and thereby update the
 window, whenever the debugger takes control.

 Use semicolons (;) to separate command strings.

 See the additional topic for information about the
 debugger command syntax and other aspects of the
 debugger's command interface.

g process field

=title Process Field
=include debug Wind_Dialog_Box g_proc_windows
=include debug Wind_Dialog_Box g_window_name
=include debug Process_Status_L_Button
=include debug g_multiproc
=include debug Cust_Menu_MPwind_Entry
Note:  This feature applies to multiprocess programs.

 Use this field to specify a process when creating or
 modifying a process-specific window.

 See Specifying Processes of a Multiprocess Program for
 the syntax.

g buffer size field

=title Buffer Size Field
Each debugger source, instruction, output, automatic,
 and register window has a memory buffer.  The buffer
 size is independent of the window size and can be
 adjusted to hold more or fewer lines of text.  The
 default buffer size is 100 lines for output windows and
 64 lines for other windows.

 Use the Buffer Size field to specify the maximum number
 of text lines that the window's buffer can hold.

 By scrolling a source window or an instruction window,
 you can see all the lines of source code of the
 associated module or all the instructions of the
 associated routine, respectively, regardless of the
 size of the memory buffer.  This is because the
 necessary information is paged into the buffer as
 needed.  For such windows, the buffer size affects only
 performance (according to the extent of paging
 necessary).

 For output and automatic windows, the buffer size
 defines the maximum number of lines that the window can
 hold.  If more text (debugger output) is added to the
 window, the oldest lines are discarded to make room for
 the new text.  You cannot retrieve the lost lines by
 scrolling the window.

g position in pixels fields

=title Position in Pixels Fields
Use the Horizontal and Vertical fields to specify the
 position of the upper left corner of a window, in
 pixels.  The coordinates (0,0) specify the upper left
 corner of the workstation screen.

 See your workstation documentation for the screen
 dimensions, in pixels.

 Specify the position as an integer literal in these
 fields.  Do not use debugger built-in symbols, such as
 %PAGE or %WIDTH.

g dimension in pixels fields

=title Dimension in Pixels Fields
Use the Height and Width fields to specify the height
 and width of the window, in pixels.

 See your workstation documentation for the screen
 dimensions, in pixels.

 Specify the dimension as an integer literal in these
 fields.  Do not use debugger built-in symbols, such as
 %PAGE or %WIDTH.

Task Dialog Box

=Title Tasks Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug g_lang
Note:  Use the Tasks dialog box to debug a VAX Ada
 tasking program.

 Use the Tasks dialog box to display information about
 specified tasks and to control the tasking environment.
 Proceed as follows:

 1.  Choose an option from the Task option menu.

 2.  Specify a task in the Task field:

      -  By default, the task identifier of the visible
         task is displayed.  A task identifier consists
         of the built-in symbol %TASK followed by an
         integer (for example, %TASK 3).

      -  To specify another task, select it from the
         list box (click on the task identifier) or type
         a task specification in the Task field.


 3.  Set the task priority on the Priority scale, if
     applicable.

 4.  Click on OK or Apply.

 See the VAX Ada documentation for complete information
 about debugging tasking programs.

Additional information available:

task optiong task fieldg task list boxg priority scale

task option

=title Task Option Menu
Use the Task option menu to:

  -  Set the active task

  -  Set the visible task

  -  Put a task on hold or release a task from the hold
     state

  -  Set a task's priority

  -  Display brief or detailed information about a task

  -  Display statistics about the tasking environment

  -  Abort a task

Additional information available:

active taskset visible taskhold taskset task priorityshow task
show statisticsabort task

active task

=title Setting the Active Task
=include debug Task_Dialog_Box task_option hold_task
=include debug Task_Dialog_Box task_option
Use the Set active option to set the active task.  This
 is the task that runs when you enter a command that
 starts execution (for example, Step or Go).

 Making a task the active task causes a task switch to
 the new active task and makes that task the visible
 task.  The specified task must be in either the RUNNING
 or READY state.

 When using this option, specify only one task in the
 Task field.

 See Holding and Releasing a Task for a description of
 the effect of setting the active task on a task that is
 in the hold state.

set visible task

=title Setting the Visible Task
=include debug Task_Dialog_Box task_option
Use the Set visible option to set the visible task.
 This is the task whose stack and register set are the
 current context for looking up names, calls, and so on.
 For example, examine and deposit operations are
 directed at the visible task.

 When using this option, specify only one task in the
 Task field.

hold task

=title Holding and Releasing a Task
=include debug Task_Dialog_Box task_option active_task
=include debug Task_Dialog_Box task_option
Use the Hold option to put a task on hold (and thereby
 prevent task switching).  Use the Release option to
 release a task from the hold state.

 If no task is specified in the Task field, the Hold
 option puts the visible task on hold, and the Release
 option releases the visible task from that state.

 Putting a task on hold prevents it from entering the
 RUNNING state.  A task that is on hold is allowed to
 make other state transitions.  In particular, it can
 change from the SUSPENDED to the READY state.

 A task that is already in the RUNNING state (the active
 task) can continue to execute as long as it remains in
 the RUNNING state, even though it is on hold.  If the
 task leaves the RUNNING state for any reason (including
 expiration of a time slice, if timeslicing is enabled),
 it might not return to the RUNNING state until it is
 released from the hold state.

 You can force a task into the RUNNING state by making
 it the active task, even if the task is on hold.

 Putting all tasks on hold freezes the state of all
 tasks except the active task.  A useful debugging
 technique is to put all tasks on hold and then make a
 particular task the active task in order to observe its
 behavior in isolation (through a Step or Go command).

set task priority

=title Setting a Task's Priority
=include debug Task_Dialog_Box task_option
If pragma PRIORITY was not specified in the program, the
 default priority for a task is 7.

 To set a task's priority:

 1.  Specify the task in the Task field.  If no task is
     specified, the priority of the visible task is set.

 2.  Choose Set priority on the Task option menu.

 3.  Set the priority on the priority scale (from 0 to
     15, inclusive).

 4.  Click on OK or Apply.

 Note that this does not prevent the task's priority
 from later changing in the course of execution, for
 example, while executing a rendezvous.

show task

=title Displaying Information About a Task
=include debug Task_Dialog_Box task_option
Use the Show brief and Show detailed options to display
 brief and detailed information, respectively, about one
 or more specified tasks.

 You can specify any task that is currently in existence
 (namely, any task that was created and whose master has
 not yet terminated).

 The brief display provides one line of basic
 information for each specified task.  For example:

    task id   pri hold state   substate        task object
  * %TASK 1    7       RUN                   122624
    %TASK 2    7  HOLD SUSP  Accept          H4.MONITOR
    %TASK 3    6       READY Entry call      H4.CHECK_IN

 Tasks are listed by their task identifiers (task id).
 The active task is marked with an asterisk and is
 always the task that is in the RUN state.

 The detailed display provides several lines of
 information.

show statistics

=title Displaying Tasking Statistics
=include debug Task_Dialog_Box task_option
Use the Show statistics option to display tasking
 statistics for the entire tasking system.

 You can use this information to measure the performance
 of your tasking program.  The larger the number of
 total schedulings (also known as context switches), the
 more tasking overhead there is.

 Do not specify a task when using this option.

abort task

=title Aborting a Task
=include debug Task_Dialog_Box task_option
Use the Abort option to abort one or more tasks.  If no
 task is specified, the visible task is aborted.

 When aborted, a task is marked for termination but is
 not immediately terminated.  The effect is identical to
 executing the Ada statement abort task-name, and causes
 the specified tasks to become abnormal.

g task field

=title Task Field
Use this field to specify one or more tasks of the
 tasking program.

 By default, the task identifier of the visible task is
 displayed in this field.  A task identifier consists of
 the built-in symbol %TASK followed by an integer.

 When referring to tasks, you can use any of the
 following task specifications (see the VAX Ada
 documentation for more details):

  -  An Ada language expression for a task value (for
     example, a task object name).  You can use a path
     name.

  -  The task identifier (for example, %TASK 2), as
     indicated in the list box or in debugger output.

  -  A task built-in symbol (%ACTIVE_TASK, %CALLER_TASK,
     %NEXT_TASK, or %VISIBLE_TASK).


 When using the 'Set active' or 'Set visible' option on
 the Task option menu, specify only one task.

 When specifying several tasks, separate the
 specifications with commas.

 Do not use the asterisk wildcard character (*) in this
 field.

g task list box

=title Task List Box
The list box identifies all the currently existing tasks
 of the program.

 The asterisk character (*) at the left of a task
 specification indicates the visible task.

 Each task's priority (a decimal integer from 0 to 15,
 inclusive) is indicated at the right of the task
 specification.

 If a task is on hold, the word HOLD is diplayed between
 the task specification and the task priority.

g priority scale

=title Priority Scale
Use the priority scale when setting the priority of a
 specified task.

 You can choose a (decimal) value from 0 to 15,
 inclusive.

 A task's priority is indicated in the list box, at the
 right of the task specification.

Proc Dialog Box

=Title Processes Dialog Box
=include debug g_ok_apply_cancel_buttons
=include debug g_multiproc
=include debug Process_Status_L_Button
=include debug Cust_Menu_Misc_Setting_Button
Note:  Use the Processes dialog box to debug a
 multiprocess program.

 Use the Processes dialog box to display information
 about processes that are currently under control of the
 debugger and to control the multiprocess environment.
 Proceed as follows:

 1.  Choose an option from the Process option menu.

 2.  Specify a process in the Process field:

      -  By default, the visible process is specified in
         this field, in the form %PROCESS_NUMBER n
         (where n is the process number assigned by the
         debugger).

      -  To specify another process, select it from the
         list box (click on the process specification),
         or type a process specification in the Process
         field.


 3.  Click on OK or Apply.

Additional information available:

proc optg process fieldg process list box

proc opt

=title Process Option Menu
Use the Process option menu to:

  -  Set the visible process

  -  Put a process on hold or release a process from the
     hold state

  -  Display brief or detailed information about a
     process

  -  Terminate a process (Exit)

Additional information available:

visprochold procshowexit proc

visproc

=title Setting the Visible Process
=include debug Process_Status_L_Button
=include debug Proc_Dialog_Box proc_opt
Use the Set visible option to establish the visible
 process.  This is the process that is currently the
 context for issuing process-specific commands.  It is
 identified in the Visible Process field of the main
 window.

 When using this option, specify only one process.

 You can reset the visible process to the next or
 previous process on the debugger's list of processes by
 means of the Visible Process arrow buttons in the main
 window.

hold proc

=title Holding and Releasing a Process
=include debug Proc_Dialog_Box proc_opt
Use the Hold option to put a process on hold.  This
 prevents images in that process from executing when you
 enter a Go, Step, or Call command, unless the process
 is the visible process.  A hold condition in the
 visible process is ignored.

 Use the Release option to release a process from a hold
 condition.  This permits images in that process to
 execute when you enter a Go, Step, or Call command,
 regardless of which process is the visible process.

 The word "HOLD" next to a process name in the list box
 of the Processes dialog box indicates that a process is
 on hold.  The condition is also indicated in a Show
 brief or Show detailed display chosen from the dialog
 box.

show

=title Displaying Process Information
=include debug Wind_Dialog_Box g_proc_windows
=include debug Cust_Menu_MPwind_Entry
=include debug Proc_Dialog_Box proc_opt
=include debug g_multiproc
 To display information about one or more processes and
 any images running in those processes, choose
 Processes...  from the Data menu, then use the Show
 brief or Show detailed options from the Processes
 dialog box.

 You must specify a process that is currently under
 debugger control (a process that is identified in the
 list box of the Processes dialog box).

 The brief display provides one line of information for
 each specified process.  For example:

   Number  Name      Hold  State    Current PC
  *    2 JONES_TWA3  HOLD  break    SCREEN\%LINE 47

 The detailed display provides several lines of
 information.

 The following information is provided in a brief
 display, starting from the left:

  -  The asterisk character (*), if displayed as in the
     previous example, marks the visible process.

  -  The Number field shows the process number assigned
     by the debugger (process 2, in the example).  A
     process number is assigned sequentially, starting
     with process 1, to each process that comes under
     debugger control.  If a process is terminated by
     choosing Exit from the Processes option menu, its
     process number is not reused during that debugging
     session.

  -  The Name field shows the VMS process name
     (JONES_TWA3, in the example).

  -  The Hold field shows the word "HOLD" if the process
     is on hold, as in the example.

  -  The State field shows the current debugging state
     for that process.  In the example, the image's
     execution is suspended at a breakpoint (break
     state).  See Debugging States for Multiprocess
     Programs.

  -  The Current PC field shows the location, symbolized
     if possible, at which execution is suspended.  It
     is suspended at line 47 of module SCREEN in the
     example.

exit proc

=title Terminating a Process
=include debug Proc_Dialog_Box proc_opt
Use the Exit option to terminate one or more processes.

 After it is terminated with the Exit option, a process
 is no longer identified in the list box of the
 Processes dialog box.

 Terminating the last process ends the debugging
 session.

g process field

=title Process Field
=include debug Process_Status_L_Button
Use this field to specify one or more processes of the
 multiprocess program.

 See Specifying Processes of a Multiprocess Program for
 the syntax.

 You must specify a process that is under debugger
 control.  The list box of the Processes dialog box
 identifies all processes that are currently under
 debugger control.  Processes are listed sequentially by
 their debugger-assigned process numbers.

 By default, the visible process is specified in this
 field, in the form %PROCESS_NUMBER n (where n is the
 process number assigned by the debugger).

 When using the 'Set visible' option on the Process
 option menu, specify only one process.

 When specifying several processes, separate the
 specifications with commas.  You can use the asterisk
 wildcard character (*) to specify all processes.

g process list box

=title Process List Box
=include debug Process_Status_L_Button
The list box of the Processes dialog box identifies all
 processes that are currently under debugger control.
 Processes are listed sequentially by their
 debugger-assigned process numbers.

 One line of information is provided for each process.
 For example:

    *  2  HOLD  JONES_TWA3

 The following information is provided, starting from
 the left:

  -  The asterisk character (*), if displayed as in the
     example, marks the visible process.

  -  The number indicates the process number assigned by
     the debugger (process 2, in the example).  A
     process number is assigned sequentially, starting
     with process 1, to each process that comes under
     debugger control.  If a process is terminated by
     choosing Exit from the Processes option menu, its
     process number is not reused during that debugging
     session.

  -  The word "HOLD", if displayed as in the example,
     indicates that the process is on hold.

  -  The last item shown is the VMS process name
     (JONES_TWA3, in this example).

g display source

=title Displaying Source Code
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Displaying Source Code from the list of
     additional topics

g display instructions

=title Displaying Decoded VAX Instructions
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Displaying Decoded VAX Instructions from the
     list of additional topics.

g symb

=title Controlling Access to Symbols in Your Program
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Controlling Access to Symbols in Your
     Program from the list of additional topics.

g intro to addrexpr

=title Specifying Address Expressions
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Specifying Address Expressions from the list
     of additional topics.

g langexpr

=title Specifying and Evaluating Language Expressions
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Specifying and Evaluating Language
     Expressions from the list of additional topics.

g lang

=title Debugger Support for Languages
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Debugger Support for Languages from the list
     of additional topics.

g multilang

=title Debugging Multilanguage Programs
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Debugging Multilanguage Programs from the
     list of additional topics.

g cmd mode

=title The Debugger's Command Interface
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose The Debugger's Command Interface from the
     list of additional topics.

g log file

=TITLE Logging a Debugging Session into a File
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Logging a Debugging Session into a File from
     the list of additional topics.

g symb share

=title Debugging Shareable Images
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Debugging Shareable Images from the list of
     additional topics.

g multiproc

=title Debugging Multiprocess Programs
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Debugging Multiprocess Programs from the
     list of additional topics.

g vector

=title Debugging Vectorized Programs
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Debugging Vectorized Programs from the list
     of additional topics.

g specifying code

=title Specifying Code Address Expressions
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Specifying Address expressions from the list
     of additional topics.

 3.  Choose Specifying Code Address Expressions from the
     list of additional topics.

g selecting code

=title Selecting Code Address Expressions from Windows
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Specifying Address expressions from the list
     of additional topics.

 3.  Choose Selecting Code Address Expressions from
     Windows from the list of additional topics.

g selecting variables

=title Selecting Variables from Windows
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Specifying Address expressions from the list
     of additional topics.

 3.  Choose Selecting Variables from Windows from the
     list of additional topics.

g specifying variables

=title Specifying Variables
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Specifying Address expressions from the list
     of additional topics.

 3.  Choose Specifying Variables from the list of
     additional topics.

g display predwnds

=title Displaying the Predefined Windows INST, REG, and AUTO
=include debug Cust_Menu_WSetups_Entry
=include debug Wind_Dialog_Box g_predwnds g_inst
=include debug Wind_Dialog_Box g_predwnds g_reg
=include debug Wind_Dialog_Box g_predwnds g_auto
=include debug Cust_Menu_Windows_Button
To open windows INST or REG, choose Window Setups from
 the Customize menu.

 To open window AUTO, click on the Display button
 (instead of the OK or Apply button) in any of the
 following dialog boxes:

  -  Examine Variable (Choose Variables from the Data
     menu, then choose Examine Variable...  from the
     submenu.)

  -  Examine Address or Register (Choose Addresses or
     Registers from the Data menu, then choose Examine
     Address or Register...  from the submenu.)

  -  Language Expressions (Choose Language
     Expressions...  from the Data menu.)

 Window AUTO is displayed when you first click on the
 Display button in any one of these dialog boxes.
 Thereafter, it remains open until you close it.

 To modify these windows, choose Windows...  from the
 Customize menu.

g source notavailable

=title Making Source Code Available for Display
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Displaying Source Code from the list of
     additional topics.

 3.  Choose Making Source Code Available for Display
     from the list of additional topics.

g radix

=title Controlling the Radix for Integer Data
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Specifying and Evaluating Language
     Expressions from the list of additional topics.

 3.  Choose Controlling the Radix for Integer Data from
     the list of additional topics.

g DST GST RST

=title Symbol Tables Used by the Debugger (DST, GST, RST)
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Controlling Access to Symbols in Your
     Program from the list of additional topics.

 3.  Choose Symbol Tables Used by the Debugger (DST,
     GST, RST) from the list of additional topics.

g Symb mod set

=title Setting and Canceling Modules
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Controlling Access to Symbols in Your
     Program from the list of additional topics.

 3.  Choose Setting and Canceling Modules from the list
     of additional topics.

g resolve symb

=title Resolving Symbol Ambiguities
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Controlling Access to Symbols in Your
     Program from the list of additional topics.

 3.  Choose Resolving Symbol Ambiguities from the list
     of additional topics.

g call

=title Calling Routines Independently of Program Execution
 For information on this topic:

 1.  Choose Go To Overview from the View menu of this
     help window.

 2.  Choose Calling Routines Independently of Program
     Execution from the list of additional topics.

g callframe label

=title Explanation of Call Frame Field
=include debug g_symb
=include debug g_symb_mod_set
=include debug g_callframe_buttons_display_src
=include debug g_callframe_buttons_display_inst
=include debug g_resolve_symb_using_callframe
 The following text is displayed in the Call Frame
 field:

  -  A non-negative decimal integer that denotes the
     relative level of a call frame on the routine call
     stack.

     Call frame 0 (also known as scope 0 or the PC
     scope) denotes the routine at the top of the call
     stack, where execution is currently suspended.
     Call frame 1 (scope 1) denotes the calling routine,
     if any.  Call frame 2 denotes its caller, and so
     on.  The last routine down the call stack is the
     main program (the routine with the image transfer
     address).

  -  The name of the routine associated with the call
     frame indicated, including its path name prefix.
     The routine name is displayed only if the module
     associated with that call frame is set.

 By default, call frame 0 and its routine are identified
 in the Call Frame field.  By using the arrow buttons,
 you can reset the reference for symbol lookup and
 source and instruction display to another call frame on
 the stack.

g callframe buttons display src

=title Using Call Frame Arrow Buttons to Display Source Code
=include debug g_callframe_label
=include debug g_display_source
=include debug g_source_notavailable
=include debug g_callframe_buttons_display_inst
=include debug g_resolve_symb_using_callframe
=include debug Scopes_Status_L_Button
 By default, window SRC displays the source code for the
 routine in which execution is currently suspended.
 This is the routine associated with call frame 0, at
 the top of the call stack, as indicated in the Call
 Frame field of the main window.

 A convenient way to display the source code for
 routines on the call stack is to use the Call Frame
 arrow buttons in the main window:

  -  Clicking on the down-arrow button causes the source
     code of the calling routine (if any) to be
     displayed.

  -  Clicking on the up-arrow button causes the source
     code of the called routine (if any) to be
     displayed.

 If the debugger cannot locate source code for display,
 it tries to display source code in the next routine
 down on the call stack for which source code is
 available.  If the debugger can display source code for
 such a routine, it issues the following message:

    SOURCESCOPE, Source lines not available for .0\%PC.
      Displaying source in a caller of the current routine.

 In such cases, the boxed line in the source window
 identifies the line that contains code following the
 call statement in the calling routine.

g callframe buttons display inst

=title Using Call Frame Arrow Buttons to Display Instructions
=include debug g_callframe_label
=include debug g_display_instructions
=include debug g_callframe_buttons_display_src
=include debug g_resolve_symb_using_callframe
=include debug Scopes_Status_L_Button
 By default, window INST displays the decoded VAX
 assembly-language instruction stream for the routine in
 which execution is currently suspended.  This is the
 routine associated with call frame 0, at the top of the
 call stack, as indicated in the Call Frame field of the
 main window.

 A convenient way to display the decoded instructions
 for routines on the call stack is to use the Call Frame
 arrow buttons in the main window:

  -  Clicking on the down-arrow button causes the
     instructions for the calling routine (if any) to be
     displayed.

  -  Clicking on the up-arrow button causes the
     instructions for the called routine (if any) to be
     displayed.

g resolve symb using callframe

=title Using Call Frame Arrow Buttons to Resolve Symbols
=include debug g_resolve_symb
=include debug g_callframe_buttons_display_src
=include debug g_callframe_buttons_display_inst
=include debug Scopes_Status_L_Button
 If a symbol is defined multiple times among routines
 that are active on the call stack, you can use the Call
 Frame arrow buttons in the main window to access a
 particular declaration of the symbol without having to
 use a path name prefix.

 The Call Frame field always shows the scope reference
 that the debugger uses for symbol searches.  By
 default, this is scope 0---the scope of the routine at
 the top of the call stack.

 The Call Frame arrow buttons enable you to change the
 scope reference for symbol searches as follows:
 Clicking once on the down-arrow button changes the
 search list from the default 0,1,2...N to 1,2,3...N.
 As a result, the Call Frame field shows scope 1.
 Clicking once more changes it to 2,3,4...N (the Call
 Frame field shows scope 2), and so on.  Conversely,
 clicking on the up-arrow button sets the reference to
 the next level up the call stack.

 The following examples show how you can use these
 buttons to change the convention for symbol lookup:

 Suppose a local variable X is defined twice in your
 program, within two routines that are currently on the
 stack.  One routine is associated with call frame 1,
 the other with frame 3.  When you specify X, the
 debugger by default searches down the call stack from
 frame 0 and uses the declaration of X in call frame 1.
 If you click on the down-arrow button to set the call
 frame to 2 or 3, the debugger then uses the declaration
 of X in call frame 3.

 In another example, suppose a routine has been called
 recursively several times, each time assigning a new
 value to variable X.  When the Call Frame field is set
 to 0, the debugger obtains the value of X in the
 current routine call.  When the Call Frame field is set
 to 1, the debugger obtains the value of X in the
 preceding call (in scope 1), and so on.

g display operands

=title Displaying Decoded Instruction Operand Information
=include debug Code_Menu_Examine_Button
=include debug Cust_Menu_Misc_Setting_Button
=include debug g_specify_pc
=include debug Ex_Code_Dialog_Box g_display_instructions
=include debug g_vector
=include debug Examine_Status_L_Button g_examine_inst_buttons
=include debug g_display_instructions
 When examining the instruction at the current PC value
 (the instruction at which execution is suspended), you
 can choose to display detailed information about the
 instruction's operands.

 Proceed as follows to display instruction operand
 information:

 1.  Suspend program execution at the instruction to be
     examined.  (The operand information might not be
     valid if you examine an instruction at some other
     location in your program, because the state of the
     machine (the contents of the registers) is not set
     up for that instruction.)

 2.  Choose Code from the Data menu, then choose Examine
     Code...  from the Code submenu.  A dialog box is
     displayed.

 3.  Enter .%PC in the Address Expression field of the
     dialog box.  .%PC specifies the instruction at
     which execution is currently suspended.

 4.  Click on the Instructions button.

 5.  Choose an option from the With Operand Values menu.
     Note that the Brief and Full options affect the
     level of information displayed only for nonregister
     operands:

      -  Choose None to display only the instruction and
         its operands.  This is the default.  For
         example:

           MOD3\%LINE 12:   MOVL    B^12(R11),R1

      -  Choose Brief to display brief operand
         information (address and contents).  For
         example:

           MOD3\%LINE 12:   MOVL    B^12(R11),R1
             B^12(R11)  MOD3\K (address 1196) contains 1
             R1         R1 contains 8

      -  Choose Full to display all of the operand
         information.  For example:

           MOD3\%LINE 12:   MOVL    B^12(R11),R1
             B^12(R11)  R11 contains MOD3\N (address 1184),
                        B^12(1184) evaluates to MOD3\K
                        (address 1196), which contains 1
             R1         R1 contains 8

      -  For information about the other options and
         about displaying the operands of vector
         instructions, see Debugging Vectorized
         Programs.


 You can establish a default level of operand
 information to be displayed whenever you examine
 instructions.  Choose Other Attributes...  from the
 Customize menu, then click on the appropriate button
 (None, Brief, or Full) under the Instruction Operand
 Information label.

 The setting of the With Operand Values menu in the
 Examine Code dialog box reflects the setting of the
 operand-related buttons in the Other Attributes dialog
 box.

g specify pc

=title Specifying the Current PC Value
=include debug g_specifying_code
=include debug g_intro_to_addrexpr
=include debug Code_Menu_Examine_Button
=include debug g_display_instructions
=include debug g_display_operands
 The program counter (PC) is the register that contains
 the address of the next instruction to be executed by
 the program.  The current PC value is that address.

 The current PC value is often used as an address
 expression in dialog boxes and debugger commands,
 typically Examine and Deposit.  When specifying the PC
 value as an address expression use the form .%PC.  For
 example:

    EXAMINE .%PC

 The period (.), when used directly in front of an
 address expression, denotes the "contents of"
 operator---that is, the contents of the location
 designated by the address expression.

 The following example illustrates the distinction
 between specifying %PC and .%PC as an address
 expression:

  -  Specifying %PC in the Address Expression field of
     the Examine Code dialog box displays the current PC
     value, namely the address of the next instruction
     to be executed.

  -  Specifying .%PC in the Address Expression field of
     the Examine Code dialog box displays the contents
     of that address, namely the next instruction to be
     executed by the program.

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