  | 
		
HP OpenVMS Debugger Manual
 
 
 
SET KEY
 
Establishes the current key state.
 
  Note 
This command is not available in the HP DECwindows Motif for OpenVMS user interface to
the debugger. 
     | 
   
 
 
 
Format
SET KEY
  
 
Qualifiers
/LOG (default)
/NOLOG
Controls whether a message is displayed indicating that the key state
has been set. The /LOG qualifier displays the message. The /NOLOG
qualifier suppresses the message.
/STATE[=state-name]
/NOSTATE (default)
Specifies a key state to be established as the current state. You can
specify a predefined key state, such as GOLD, or a user-defined state.
A state name can be any appropriate alphanumeric string. The /NOSTATE
qualifier leaves the current state unchanged.
 
 
Description
Keypad mode must be enabled (SET MODE KEYPAD) before you can use this
command. Keypad mode is enabled by default.
By default, the current key state is the DEFAULT state. When you define
function keys, you can use the DEFINE/KEY /IF_STATE command to assign a
specific state name to the key definition. If that state is not set
when you press the key, the definition is not processed. The SET
KEY/STATE command enables you to change the current state to the
appropriate state.
 
You can also change the current state by pressing a key that causes a
state change (a key that was defined with
DEFINE/KEY/LOCK_STATE/SET_STATE).
 
Related commands:
 
  DELETE/KEY
   DEFINE/KEY
   SHOW KEY
 
 
 
Example
 
This command changes the key state to the PROG3 state. You can now use
the key definitions that are associated with this state.
  
 
SET LANGUAGE
 
Establishes the current language.
 
 
Format
SET LANGUAGE language-name
  
 
Parameters
language-name
Specifies a language.
On VAX processors, valid keywords are:
 
  
    | 
      ADA
     | 
    
      BASIC
     | 
    
      BLISS
     | 
    
      C
     | 
   
  
    | 
      C_PLUS_PLUS
     | 
    
      COBOL
     | 
    
      DIBOL
     | 
    
      FORTRAN
     | 
   
  
    | 
      MACRO
     | 
    
      PASCAL
     | 
    
      PLI
     | 
    
      RPG
     | 
   
  
    | 
      SCAN
     | 
    
      UNKNOWN
     | 
    
       
     | 
    
       
     | 
   
 
On Alpha processors, valid keywords are:
 
  
    | 
      ADA
     | 
    
      AMACRO
     | 
    
      BASIC
     | 
    
      BLISS
     | 
   
  
    | 
      C
     | 
    
      C_PLUS_PLUS
     | 
    
      COBOL
     | 
    
      FORTRAN
     | 
   
  
    | 
      MACRO
     | 
    
      MACRO64
     | 
    
      PASCAL
     | 
    
      PLI
     | 
   
  
    | 
      UNKNOWN
     | 
    
       
     | 
    
       
     | 
    
       
     | 
   
 
On Intel® Itanium® processors, valid keywords are:
 
  
    | 
      AMACRO
     | 
    
      BASIC
     | 
    
      BLISS
     | 
    
      C
     | 
   
  
    | 
      C++
     | 
    
      COBOL
     | 
    
      Fortran
     | 
    
      PASCAL
     | 
   
  
    | 
      UNKNOWN
     | 
    
       
     | 
    
       
     | 
    
       
     | 
   
 
MACRO-32 must be compiled with the AMACRO compiler.
  
 
Description
When you start the debugger, the current language is set to that in
which the module containing the main program is written. This is
usually the module containing the image transfer address. To debug a
module written in a different source language from that of the main
program, you can change the language with the SET LANGUAGE command.
The current language setting determines how the debugger parses and
interprets the names, operators, and expressions you specify in
debugger commands, including things like the typing of variables, array
and record syntax, the default radix for the entry and display of
integer data, case sensitivity, and so on. The language setting also
determines how the debugger formats and displays data associated with
your program.
 
The default radix for both data entry and display is decimal for most
languages. The exceptions are BLISS and MACRO, which have a default
radix of hexadecimal.
 
The default type for program locations that do not have a
compiler-generated type is longword integer. This is appropriate for
debugging 32-bit applications.
 
It is advisable to change the default type to quadword for debugging
applications that use the 64-bit address space (on OpenVMS I64 systems,
the default type is quadword). Use the SET TYPE QUADWORD command.
 
Use the SET LANGUAGE UNKNOWN command when debugging a program written
in an unsupported language. To maximize the usability of the debugger
with unsupported languages, SET LANGUAGE UNKNOWN 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.
 
Note that SET LANGUAGE UNKNOWN can be an easy, quick workaround for
language-related problems because it uses the "loosest" set of rules.
 
For information about debugger support for language-specific operators
and constructs, type HELP Language.
 
Related commands:
 
  EVALUATE
   EXAMINE
   DEPOSIT
   SET MODE
   SET RADIX
   SET TYPE
   SHOW LANGUAGE
 
 
 
Examples
 
  
    | #1 | 
   
    
       
      
DBG> SET LANGUAGE COBOL
      
      
     | 
   
 
This command establishes COBOL as the current language.
  
  
    | #2 | 
   
    
       
      
DBG> SET LANGUAGE PASCAL
      
      
     | 
   
 
This command establishes Pascal as the current language.
  
 
SET LANGUAGE/DYNAMIC
 
Toggles the state of automatic language setting.
 
 
Format
SET LANGUAGE/DYNAMIC
  
 
Description
When you start the debugger, the current language is set to that in
which the module containing the main program is written. This is
usually the module containing the image transfer address. By default,
when the scope of the program being executed changes to a module
written in a different language, the debugger changes the current
language to that of the module.
You can prevent the debugger from automatically changing the current
language with the SET LANGUAGE/NODYNAMIC command.
 
Related commands:
 
  SET LANGUAGE
   SHOW LANGUAGE
 
 
 
Examples
 
  
    | #1 | 
   
    
       
      
DBG> SET LANGUAGE/NODYNAMIC
      
      
     | 
   
 
This command prevents the debugger from changing the current language
until you enter a SET LANGUAGE or SET LANGUAGE/DYNAMIC command.
  
 
SET LOG
 
Specifies a log file to which the debugger writes after a SET OUTPUT
LOG command has been entered.
 
 
Format
SET LOG file-spec
  
 
Parameters
file-spec
Denotes the file specification of the log file. If you do not supply a
full file specification, the debugger assumes SYS$DISK:[]DEBUG.LOG as
the default file specification for any missing field.
If you specify a version number and that version of the file already
exists, the debugger writes to the file specified, appending the log of
the debugging session onto the end of that file.
  
 
Description
The SET LOG command determines only the name of a log file; it does not
cause the debugger to create or write to the specified file. The SET
OUTPUT LOG command accomplishes that.
If you entered a SET OUTPUT LOG command but no SET LOG command, the
debugger writes to the file SYS$DISK:[]DEBUG.LOG by default.
 
If the debugger is writing to a log file and you specify another log
file with the SET LOG command, the debugger closes the former file and
begins writing to the file specified in the SET LOG command.
 
Related commands:
 
  SET OUTPUT LOG
   SET OUTPUT SCREEN_LOG
   SHOW LOG
 
 
 
Examples
 
  
    | #1 | 
   
    
       
      
DBG> SET LOG CALC
DBG> SET OUTPUT LOG
      
      
     | 
   
 
In this example, the SET LOG command specifies the debugger log file to
be SYS$DISK:[]CALC.LOG. The SET OUTPUT LOG command causes user input
and debugger output to be logged to that file.
  
  
    | #2 | 
   
    
       
      
DBG> SET LOG [CODEPROJ]FEB29.TMP
DBG> SET OUTPUT LOG
      
      
     | 
   
 
In this example, the SET LOG command specifies the debugger log file to
be [CODEPROJ]FEB29.TMP. The SET OUTPUT LOG command causes user input
and debugger output to be logged to that file.
  
 
SET MARGINS
 
Specifies the leftmost and rightmost source-line character position at
which to begin and end display of a source line.
 
  Note 
This command is not available in the HP DECwindows Motif for OpenVMS user interface to
the debugger. 
     | 
   
 
 
 
Format
SET MARGINS rm   lm:rm   lm:   :rm
  
 
Parameters
lm
The source-line character position at which to begin display of the
line of source code (the left margin).
rm
The source-line character position at which to end display of the line
of source code (the right margin).
 
 
Description
The SET MARGINS command affects only the display of source lines. It
does not affect the display of other debugger output, as from an
EXAMINE command.
The SET MARGINS command is useful for controlling the display of source
code when, for example, the code is deeply indented or long lines wrap
at the right margin. In such cases, you can set the left margin to
eliminate indented space in the source display, and you can decrease
the right margin setting (from its default value of 255) to truncate
lines and prevent them from wrapping.
 
The SET MARGINS command is useful mostly in line (noscreen) mode. In
line mode, the SET MARGINS command affects the display of source lines
resulting from a TYPE, EXAMINE/SOURCE, SEARCH, or STEP command, or when
a breakpoint, tracepoint, or watchpoint is triggered.
 
In screen mode, the SET MARGINS command has no effect on the display of
source lines in a source display, such as the predefined display SRC.
Therefore it does not affect the output of a TYPE or EXAMINE/SOURCE
command, since that output is directed at a source display. The SET
MARGINS command affects only the display of any source code that might
appear in an output or DO display (for example, after a STEP command
has been executed). However, such source-code display is normally
suppressed if you enable screen mode by pressing PF1-PF3, because that
sequence issues the SET STEP NOSOURCE command as well as SET MODE
SCREEN to eliminate redundant source display.
 
By default, the debugger displays a source line starting at character
position 1 of the source line. This is actually character position 9 on
your terminal screen. The first eight character positions on the screen
are reserved for the line number and cannot be manipulated by the SET
MARGINS command.
 
If you specify a single number, the debugger sets the left margin to 1
and the right margin to the number specified.
 
If you specify two numbers, separated with a colon, the debugger sets
the left margin to the number on the left of the colon and the right
margin to the number on the right.
 
If you specify a single number followed by a colon, the debugger sets
the left margin to that number and leaves the right margin unchanged.
 
If you specify a colon followed by a single number, the debugger sets
the right margin to that number and leaves the left margin unchanged.
 
Related commands:
 
  SET STEP [NO]SOURCE
   SHOW MARGINS
 
 
 
Examples
 
  
    | #1 | 
   
    
       
      
DBG> SHOW MARGINS
left margin: 1 , right margin: 255
DBG> TYPE 14
module FORARRAY
   14:        DIMENSION IARRAY(4:5,5), VECTOR(10), I3D(3,3,4)
DBG>
      
      
     | 
   
 
This example displays the default margin settings for a line of source
code (1 and 255).
  
  
    | #2 | 
   
    
       
      
DBG> SET MARGINS 39
DBG> SHOW MARGINS
left margin: 1 , right margin: 39
DBG> TYPE 14
module FORARRAY
   14:        DIMENSION IARRAY(4:5,5), VECTOR
DBG>
      
      
     | 
   
 
This example shows how the display of a line of source code changes
when you change the right margin setting from 255 to 39.
  
  
    | #3 | 
   
    
       
      
DBG> SET MARGINS 10:45
DBG> SHOW MARGINS
left margin: 10 , right margin: 45
DBG> TYPE 14
module FORARRAY
   14: IMENSION IARRAY(4:5,5), VECTOR(10),
DBG>
      
      
     | 
   
 
This example shows the display of the same line of source code after
both margins are changed.
  
  
    | #4 | 
   
    
       
      
DBG> SET MARGINS :100
DBG> SHOW MARGINS
left margin: 10 , right margin: 100
DBG>
      
      
     | 
   
 
This example shows how to change the right margin setting while
retaining the previous left margin setting.
  
  
    | #5 | 
   
    
       
      
DBG> SET MARGINS 5:
DBG> SHOW MARGINS
left margin: 5 , right margin: 100
DBG>
      
      
     | 
   
 
This example shows how to change the left margin setting while
retaining the previous right margin setting.
  
 
SET MODE
 
Enables or disables a debugger mode.
 
 
Format
SET MODE mode[,...]
  
 
Parameters
mode
Specifies a debugger mode to be enabled or disabled. Valid keywords are
as follows:
  
    | 
      DYNAMIC
     | 
    
      
      
               
      
               
      
               (Default) Enables dynamic mode. When dynamic mode is enabled, the
               debugger sets modules and images automatically during program execution
               so that you typically do not have to enter the SET MODULE or SET IMAGE
               command. Specifically, whenever the debugger interrupts execution
               (whenever the debugger prompt is displayed), 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
               mode has no effect on that module or image. The debugger issues an
               informational message when it sets a module or image automatically.
     | 
   
  
    | 
      NODYNAMIC
     | 
    
       Disables dynamic mode. Because additional memory is allocated when a
       module or image is set, you might want to disable dynamic mode if
       performance becomes a problem (you can also free up memory by canceling
       modules and images with the CANCEL MODULE and CANCEL IMAGE commands).
       When dynamic mode is disabled, you must set modules and images
       explicitly with the SET MODULE and SET IMAGE commands.
     | 
   
  
    | 
      G_FLOAT
     | 
    
      
      
               
      
               Specifies that the debugger interpret double-precision floating-point
               constants entered in expressions as G_FLOAT (does not affect the
               interpretation of variables declared in your program).
     | 
   
  
    | 
      NOG_FLOAT
     | 
    
       (Default) Specifies that the debugger interpret double-precision
       floating-point constants entered in expressions as D_FLOAT (does not
       affect the interpretation of variables declared in your program).
     | 
   
  
    | 
      INTERRUPT
     | 
    
      
      
               
      
               
      
               
      
               
      
               Useful when debugging a multiprocess program. Specifies that, when
               program execution is suspended in any process, the debugger interrupts
               execution in all other processes that were executing images and prompts
               for input. See Chapter 15 for more information.
     | 
   
  
    | 
      NOINTERRUPT
     | 
    
       (Default) Useful when debugging a multiprocess program. Specifies that,
       when program execution is suspended in any process, the debugger take
       no action with regard to other processes.
     | 
   
  
    | 
      KEYPAD
     | 
    
      
      
               
      
               
      
               (Default) Enables keypad mode. Note that this parameter is not
               available in the HP DECwindows Motif for OpenVMS user interface to the debugger. When
               keypad mode is enabled, you can use the keys on the numeric keypad to
               perform certain predefined functions. Several debugger commands,
               especially useful in screen mode, are bound to the keypad keys. (Type
               Help Keypad_Definitions_CI; also, use the SHOW KEY command to determine
               the current key definitions.) You can also redefine the key functions
               with the DEFINE/KEY command.
     | 
   
  
    | 
      NOKEYPAD
     | 
    
       Disables keypad mode. Note that this parameter is not available in the
       HP DECwindows Motif for OpenVMS user interface to the debugger. When keypad mode is
       disabled, the keys on the numeric keypad do not have predefined
       functions, nor can you assign debugger functions to those keys with
       DEFINE/KEY commands.
     | 
   
  
    | 
      LINE
     | 
    
      
      
               
      
               
      
               (Default) Specifies that the debugger display program locations in
               terms of line numbers, if possible.
     | 
   
  
    | 
      NOLINE
     | 
    
       Specifies that the debugger display program locations as
      routine-name + byte-offset rather than in terms of line
      numbers.
     | 
   
  
    | 
      OPERANDS[=
      keyword]
     | 
    
      
      
               
      
               
      
               
      
               
      
               (VAX only) Specifies that the EXAMINE command, when used to examine an
               instruction, display the address and contents of the instruction's
               operands in addition to the instruction and its operands. The level of
               information displayed about any nonregister operands depends on whether
               you use the keyword BRIEF or FULL. The default is OPERANDS=BRIEF.
     | 
   
  
    | 
      NOOPERANDS
     | 
    
       (VAX only; Default.) Specifies that the EXAMINE command, when used to
       examine an instruction, display only the instruction and its operands.
     | 
   
  
    | 
      SCREEN
     | 
    
      
      
               
      
               
      
               Enables screen mode. Note that this parameter is not available in the
               HP DECwindows Motif for OpenVMS user interface the debugger. When screen mode is
               enabled, you can divide the terminal screen into rectangular regions,
               so different data can be displayed in different regions. Screen mode
               enables you to view more information more conveniently than the
               default, line-oriented, noscreen mode. You can use the predefined
               displays, or you can define your own.
     | 
   
  
    | 
      NOSCREEN
     | 
    
      (Default) Disables screen mode. Note that this parameter is not
      available in the HP DECwindows Motif for OpenVMS user interface to the debugger.
     | 
   
  
    | 
      SCROLL
     | 
    
      
      
               
      
               
      
               (Default) Enables scroll mode. Note that this parameter is not
               available in the HP DECwindows Motif for OpenVMS user interface to the debugger. When
               scroll mode is enabled, a screen-mode output or DO display is updated
               by scrolling the output line by line, as it is generated.
     | 
   
  
    | 
      NOSCROLL
     | 
    
       Note that this parameter is not available in the HP DECwindows Motif for OpenVMS user
       interface to the debugger. Disables scroll mode. Note that this
       parameter is not available in the HP DECwindows Motif for OpenVMS user interface to the
       debugger. When scroll mode is disabled, a screen-mode output or DO
       display is updated only once per command, instead of line by line as it
       is generated. Disabling scroll mode reduces the amount of screen
       updating that takes place and can be useful with slow terminals.
     | 
   
  
    | 
      SYMBOLIC
     | 
    
      
      
               
      
               
      
               
      
               (Default) Enables symbolic mode. When symbolic mode is enabled, the
               debugger displays the locations denoted by address expressions
               symbolically (if possible) and displays instruction operands
               symbolically (if possible). EXAMINE/NOSYMBOLIC can be used to override
               SET MODE SYMBOLIC for the duration of an EXAMINE command.
     | 
   
  
    | 
      NOSYMBOLIC
     | 
    
       Disables symbolic mode. When symbolic mode is disabled, 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. EXAMINE/SYMBOLIC
       can be used to override SET MODE NOSYMBOLIC for the duration of an
       EXAMINE command.
     | 
   
  
    | 
      WAIT
      
      
               
      
               
      
     | 
    
      (Default) Enables wait mode. In wait mode the debugger waits until all
      processes under its control have stopped before prompting for a new
      command. See Chapter 15 for more information.
     | 
   
  
    | 
      NOWAIT
     | 
    
      Disable wait mode. In nowait mode, the debugger immediately prompts for
      new commands even if some or all processes are still running.
     | 
   
 
 
 
Description
For details about the SET MODE command, see the parameter descriptions.
The default values of these modes are the same for all languages.
Related commands:
 
  EVALUATE
   EXAMINE
   DEFINE/KEY
   DEPOSIT
   DISPLAY
   (SET,SHOW,CANCEL) IMAGE
   (SET,SHOW,CANCEL) MODULE
   SET PROMPT
   (SET,SHOW,CANCEL) RADIX
   (SET,SHOW) TYPE
   (SHOW,CANCEL) MODE
   SYMBOLIZE
 
 
 
Example
 
This command puts the debugger in screen mode.
  
  
  
		 |