HP 3000 Manuals

ENV (continued) [ System Debug Reference Manual ] MPE/iX 5.0 Documentation


System Debug Reference Manual

ENV (continued) 

ISR              U32 (nmreg) r dM  

                 NM interrupt space register.  (Alias for CR20)

ITMR             U32 (nmreg) r dM  

                 NM interval timer register.  (Alias for CR16)

IVA              U32 (nmreg) r dM  

                 NM interrupt vector address.  (Alias for CR14)

JOB_DEBUG        BOOL (system) rW  

                 A system wide flag that enables the debugging of jobs.
                 The default value is FALSE; any process attempting to
                 access Debug in a job has that request ignored (with the
                 exception of the HPDEBUG intrinsic, which will execute a
                 command string but not stop in Debug).  If this variable
                 is set, and a job does call Debug, upon entry the
                 CONSOLE_IO variable is set to TRUE and the TERM_LDEV
                 variable is set to the console port (LDEV 20).

                 This variable is available only in Debug.

JUSTIFY          STR (io) rw * 

                 This variable controls the form justification used when
                 numeric values are displayed in the windows or from the
                 Display commands.  This variable may take on one of two
                 quoted literal values:  "LEFT" or "RIGHT".  When
                 right-justified, values can be blank or zero filled
                 (refer to the FILL variable).  Decimal values are always
                 left-justified in windows, despite this setting.  The
                 default value is "RIGHT".

LAST_PIN         U16 (misc) r  

                 For DAT, this is the last PIN that was running at dump
                 time (as found in SYSGLOB). For Debug, this variable is
                 the PIN on whose stack the debugger is running.

LIST_INPUT       U16 (io) rw  

                 When LIST_INPUT is set, all user input lines are written
                 into any currently opened list file (refer to the LIST
                 command).  When ECHO_USE is set, those lines that are
                 input from the USE file are always displayed to the list
                 file, even if LIST_INPUT is disabled.  The default value
                 is TRUE.

LIST_PAGELEN     U16 (io) rw * 

                 The page length (in lines) of the list file (refer to
                 the LIST command).  The default page length is #60.  If
                 the LIST_PAGING environment variable is set, a page
                 eject is placed in the list after every LIST_PAGELEN
                 lines.

LIST_PAGENUM     U16 (io) r  

                 The current page number of the list file (refer to the
                 LIST command).  When a list file is opened, this
                 variable is reset to 1.  The default LIST_TITLE uses
                 this value as part of the page title written to each
                 page.

LIST_PAGING      BOOL (io) r * 

                 When LIST_PAGING is set, output to the list file (refer
                 to the LIST command) is paged (based on LIST_PAGELEN).
                 In addition, the LIST_TITLE is written at the top of
                 each new page.  The default value for this variable is
                 TRUE.

LIST_TITLE       STR (io) rw * 

                 When the LIST_PAGING variable is enabled, this
                 LIST_TITLE is written to the top of each new page in the
                 list file (refer to the LIST command).  The default
                 LIST_TITLE is displayed below, followed by the output it
                 produces:

                      '"Page: " list_pagenum:"d" "   " version "   " date "   " time'

                      Page: 1    DAT-XL 9.00.00    FRI, FEB 13, 1987  2:22 PM

                 The variables in the title are evaluated each time the
                 title is written to the list file.

LIST_WIDTH       U16 (io) rw * 

                 The width (in number of characters) to be used for the
                 list file (refer to the LIST command).  This number must
                 be in the range 1-132, and is 80 characters by default.
                 Lines written to the list file that are longer than the
                 LIST_WIDTH length are not truncated; instead they are
                 split, with the extra data placed on the following line.

LOOKUP_ID        STR (misc) rw * 

                 This variable is used by the expression evaluator in
                 determining where to look up NM procedure names.  Refer
                 to the "Procedure Name Symbols" section in chapter 2
                 "User Interfaces" for additional details.  It may take
                 on any of the following values:

                 UNIVERSAL           Search exported procedures in the
                                     System Object Module symbols.
                 LOCAL               Search non-exported procedures in
                                     the System Object Module symbols.
                 NESTED              Search nested procedures in the
                                     System Object Module symbols.
                 PROCEDURES          Search local or exported procedures
                                     in the System Object Module symbols.
                 ALLPROC             Search local/exported/nested
                                     procedures in the System Object
                                     Module symbols.
                 EXPORTSTUB          Search export stubs in the System
                                     Object Module symbols.
                 DATAANY             Search exported or local data System
                                     Object Module symbols.
                 DATAUNIV            Search exported data System Object
                                     Module symbols.
                 DATALOCAL           Search local data System Object
                                     Module symbols.
                 LSTPROC             Search exported level 1 procedures
                                     in the LST.
                 LSTEXPORTSTUB       Search export stubs in the LST.
                 ANY                 Search for any type of symbol in the
                                     System Object Module symbols.

                 The default is LSTPROC. Note that it is noticeably
                 slower to look up symbols from the System Object Module
                 symbol table.  For additional information, see the
                 section "Procedure Names" in chapter 2, the PROCLIST
                 command, and the NMADDR function.

LW               LPTR (win) r  

                 The address (as a long pointer) where the LDEV window is
                 aimed.  The value returned is interpreted as
                 ldev.offset.

MACROS           U16 (limits) rw 

                 The MACROS variable controls the size of the macro
                 table, and must be changed (from the default size)
                 before any macros are created.  The MACROS limit is
                 automatically increased to the nearest prime number,
                 which must be less than or equal to MACROS_LIMIT.

MACROS_LIMIT     U16 (limits) r 

                 MACROS_LIMIT is a compile time constant that defines the
                 absolute maximum size of the macro table.  The product
                 must be recompiled and redistributed to increase this
                 absolute capacity.

MACRO_DEPTH      U16 (cmd) r  

                 MACRO_DEPTH tracks the current nested call level for
                 macros.  A depth of 1 implies the macro was invoked from
                 the user interface.  A depth of 2 implies that the
                 current macro was called by another macro, and so on.

MAPDST           U16 (cmreg) r  

                 This variable contains the mapping DST number for CM CST
                 expansion.

MAPFLAG          U16 (cmreg) r  

                 MAPFLAG indicates the mapping of the current CM segment,
                 running under CST expansion.  If MAPFLAG = 0, the
                 current CM segment is logically mapped.  If MAPFLAG = 1,
                 the current CM segment is physically mapped.

MARKERS          STR (win) rw * 

                 The MARKERS variable selects the type of video
                 enhancement which is used to flag stack markers in the
                 CM Q (frame) and S (stack) windows.  The following
                 string literals are valid:  "INVERSE", "HALFINV",
                 "BLINK", "ULINE", and "FEABLE".  The default is "ULINE".

MODE             STR (misc) r  This variable contains either "NM" if you
                 are in NMDebug, or "CM" if in cmdebug.

MONARCHCPU       U16 (misc) r d 

                 This variable contains the number of the Monarch
                 processor.

MULTI_LINE_ERRS  U16 (cmd) rw * 

                 When a user's multiple line input contains an error, it
                 is sometimes desirable to limit the quantity of error
                 output generated.  In particular this variable controls
                 how much of the user's original input line is displayed
                 in the error message:

                 1       Display the single input line that contains the
                         error.
                 2       Display all lines up to and including the line
                         with the error.
                 3       Display all input lines (up to, including and
                         after) the error.

                 The default value is 2.  Any value larger than 3 is
                 interpreted as a 3.

NMPW             LCPTR (win) r  

                 The logical code address where the NM program window is
                 aimed.

NM_INBASE        STR (io) rw * 

                 The current NM input conversion base.  When in NMDebug,
                 all values entered are assumed to be in this base unless
                 otherwise specified.  The following values are allowed:
                   % or OCTAL
                   # or DECIMAL
                   $ or HEXADECIMAL

                 The names may be abbreviated to as little as a single
                 character.

                 The default value is $ (hex).  Refer to the SET command
                 for an alternate method of setting this variable.

NM_OUTBASE       STR (io) rw * 

                 When in NM (nmdat or nmdebug), all numbers printed will
                 be this base, unless otherwise indicated (refer to the
                 SET command).  The following values are allowed:
                   % or OCTAL
                   # or DECIMAL
                   $ or HEXADECIMAL

                 The names may be abbreviated to as little as a single
                 character.

                 The default value is $ (hex).  Refer to the SET command
                 for an alternate method of setting this variable.

NONLOCALVARS     BOOL (cmd) rw  

                 When NONLOCALVARS is FALSE (default), macro bodies can
                 only reference local variables that are declared locally
                 within the current macro.  When NONLOCALVARS is TRUE, a
                 macro body can reference a local variable within another
                 macro that called it.  Setting this variable is useful
                 when a macro is too large for the current macro size
                 restrictions and must be broken into several pieces.
                 The first piece can call the subsequent pieces without
                 passing all of the local variables as parameters.

OUTBASE          STR (io) rw * 

                 This variable tracks NM_OUTBASE and CM_OUTBASE dependent
                 upon the MODE variable.  The following values are
                 allowed:
                   % or OCTAL
                   # or DECIMAL
                   $ or HEXADECIMAL

                 The names may be abbreviated to as little as 1
                 character.

                 The default is based on the current mode (NM or CM).
                 Refer to the SET command for an alternate method of
                 setting this variable.

PC               LPTR (nmreg) r dm  

                 NM program counter register as a logical code address.
                 This value is composed of data taken from CR17 (PCSF)
                 and CR18 (PCOF). The privileged bits from CR18 (bits 30,
                 31) are masked out (that is, they are set to zero).

PCOB             U32 (nmreg) r dm  

                 NM program counter offset (next in pipeline queue).

PCOF             U32 (nmreg) r dm  

                 NM program counter offset (first in pipeline queue).

PCQB             LPTR (nmreg) r dm  

                 NM program counter sid.offset (next in pipeline queue).
                 (Alias for CR18)

PCQF             LPTR (nmreg) r dm  

                 NM program counter sid.offset (first in pipeline queue).
                 (Alias for CR17)

PCSB             U32 (nmreg) r dm  

                 NM program counter sid (next in pipeline queue).

PCSF             U32 (nmreg) r dm  

                 NM program counter sid (first in pipeline queue).

PID1 - PID4      U16 (nmreg) r dM 

                 NM protection ID registers.  (Alias for CR8, CR9, CR12,
                 CR13.)  The format of the PID registers is as follows:

                                                    1 1                             3
                      0                             5 6                             1
                      ----------------------------------------------------------------
                      |          <reserved>           |     Protection ID          |WD|
                      ----------------------------------------------------------------

                 <reserved>          The top 16 bits are undefined for
                                     this register.
                 Protection ID       The protection ID number.
                 WD                  Write disable bit (1 = read only, 0
                                     = write enabled)

                 System Debug displays these registers in two formats:

                      PID1=030e=0187(W)

                 The first value is the register as a 16-bit value.  The
                 second form is the original 16-bit register shifted
                 right by 1 bit followed by the value of the write
                 disable bit.  The (W) indicates the WD bit is off.  That
                 is, write capability is enabled.  When the WD bit is on,
                 an (R) is displayed indicating Read access.

PIN              U16 (misc) r  

                 The current process identification number (PIN). Note
                 that this variable changes when one uses the PIN
                 command.  PIN 0 (zero) indicates that the dispatcher is
                 running.  (Refer to the variable LAST_PIN.)

PRIV             U16 (nmreg) r dM 

                 Current privilege level (low two bits of PCOF).

PRIV_USER        BOOL (nmreg) r rW 

                 This variable is TRUE if the user running Debug has
                 privileged mode (PM) capabilities.  If set, the user has
                 access to all privileged commands within Debug.
                 Privileged users may alter the value of this variable if
                 desired to supply a "safe" environment.

                 In DAT, this variable is always TRUE.

PROGNAME         STR (misc) r  

                 This variable contains the name of the tool that is
                 being run.  It is either 'dat' or 'debug'.

PROMPT           STR (io) rw  

                 Current user prompt.  It is defined as a quoted string
                 with the same syntax and options as the WL command.  The
                 default prompt is:

                      'cmdnum " (" pin ")   " mode progname " " filter "> "'

                 The variables in the prompt are evaluated each time the
                 prompt is displayed.

PSP              U32 (nmreg) r d  

                 Previous SP. This is not really a register; it is
                 computed based on the current SP and size of the current
                 frame.

PSTMT            BOOL (misc) rw * 

                 When PSTMT is set, the NM disassembler interprets
                 certain LDIL instructions as statement numbers, as
                 generated by some of the language compilers.  The
                 default value is TRUE.

PSW              U32 (nmreg) r dM 

                 Processor status register (alias for IPSW and CR22).
                 Refer to the IPSW environment variable for a complete
                 description of this variable.

PW               LCPTR (win) r  

                 The address (as a logical code address) where the
                 (current) program window is aimed.

PWO              SPTR (win) r  

                 The offset where the (current) program window is aimed.

PWS              U32 (win) r  

                 The SID (NM) or SEG (CM) where the (current) program
                 window is aimed.

Q                U16 (cmreg) r dm  

                 This is the CM Q register.  The value in this register
                 is relative to the CM DB register.

QUIET_MODIFY     U16 (io) rw *  

                 When this variable is FALSE (the default value), all
                 modifications to registers and memory cause the current
                 value of the item to be displayed.  If the variable is
                 set to TRUE, all modifications are performed quietly.
                 Quiet modifications are useful in macros and breakpoint
                 command lists.

R0               U32 (nmreg) r d  

                 NM register 0; the constant 0 (zero).

R1 - R31         U32 (nmreg) rwdm  

                 NM general registers.  Many of these registers have
                 aliases.  Refer to the DR command for a complete list.

RCTR             U32 (nmreg) r dM 

                 NM recovery counter register.  (Alias for CR0)

RET0             U32 (nmreg) r dm  

                 NM return register 0 (alias for R28).  This register is
                 used by the language compilers to return function
                 results.

RET1             U32 (nmreg) r dm  

                 NM return register 1 (alias for R29).  This register is
                 used by the language compilers to return function
                 results.

RP               U32 (nmreg) r d  

                 NM return pointer.  This value is determined based on
                 stack unwind information.  It may be the contents of R2
                 or it may be the return address stored somewhere in the
                 NM stack.  Note that RP is not an alias for R2.

S                U16 (cmreg) r dm  

                 CM S (stack) register.  The value in this register is
                 relative to the CM DB register.

SAR              U16 (nmreg) r dm  

                 NM shift amount register.  (Alias for SR11)

SDST             U16 (cmreg) r dm  

                 DST number of the CM stack.

SL               U32 (nmreg) r dm  

                 NM static link register.  (Alias for R29)

SP               U32 (nmreg) r dm  

                 NM stack pointer register.  (Alias for R30)

SR0 - SR7        U32 (nmreg) r dM 

                 NM space registers 0 - 7.

STATUS           U16 (cmreg) r dm  

                 CM status register.  This register has the following
                 format:

                                           1 1 1 1 1 1
                       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
                      ---------------------------------
                      |M|I|T|R|O|C|CC |  Segment #    |
                      ---------------------------------

                 M bit            1 if program is privileged
                                  0 if program is in user mode
                 I bit            1 if external Interrupts are enabled
                                  0 if not
                 T bit            1 if user Traps are enabled
                                  0 if not
                 R bit            1 if right stack operation pending
                                  0 if left stack operation pending
                 O bit            1 if Overflow bit set (not set if user
                                  traps enabled)
                                  0 if not
                 C bit            1 if Carry bit set
                                  0 if not
                 CC bits          01 if CCL (This is the condition code
                                  value)
                                  10 if CCE
                                  00 if CCG

                 System Debug display this register with two formats:

                      STATUS=%100030=(Mitroc CCG 030)

                 The first value is the full 16-bit integer
                 representation of the register.  The second format shows
                 the value of the special named bits.  An uppercase
                 letter means the bit is on while a lowercase letters
                 indicates the bit is off.

                 The segment number has various interpretations.  For
                 non-CST expansion systems, this is an absolute segment
                 number.  For CST expansion systems, refer to the MPE V/E 
                 Tables Manual for details on its interpretation.

SYSVERSION       STR (nmreg) r  

                 The version of the operating system (as found in
                 SYSGLOB).

                 This variable is currently a null string in DAT.

TERM_KEEPLOCK    BOOL (io) rw 

                 If this variable is set, the terminal semaphore is not
                 released when the process is resumed by Debug.  The
                 default for this variable is FALSE. If the process dies,
                 the terminal semaphore is automatically released.  If
                 the TERM NEXT command is issued or the value of
                 TERM_LOCKING is changed, this variable is reset to
                 FALSE.

                 This variable is available only in Debug.

TERM_LDEV        U16 (io) rW 

                 This variable contains the logical device number (LDEV)
                 to use for I/O. Debug determines this value by looking
                 up the LDEV for the session.

                 If the ENV command is used to alter this value, Debug
                 attempts to allocate the indicated LDEV. If the LDEV is
                 already allocated (that is, in use by another session),
                 an error status is returned.  If the user has privileged
                 mode (PM) capabilities, the allocation check may be
                 bypassed by specifying a negative LDEV. In this case,
                 all security and validity checking is bypassed.
                 Non-Preemptive send_io calls are done to the specified
                 LDEV without question.

                 When Debug is entered from a job (this is possible when
                 the HPDEBUG intrinsic is used), this variable is not
                 used.  Rather, Debug performs I/O to the job's standard
                 list file ($STDLIST).

                 If the JOB_DEBUG system wide variable is set, when a
                 process being run in a job enters Debug, this variable
                 is set to the console port (LDEV 20) and the CONSOLE_IO
                 variable is set to TRUE.

                 Note that the CONSOLE_IO environment variable has
                 precedence over TERM_LDEV.

                 _______________________________________________________ 

                 NOTE  A privileged procedure exists that allows the user
                       to enter Debug and specify the initial value of
                       this variable.  The name of the routine is
                       debug_at_ldev.  It takes one parameter, the LDEV.

                 _______________________________________________________ 

                 This variable is not available in DAT.

TERM_LOCKING     BOOL (io) rw  

                 If this variable is set (the default value), the
                 debugger will perform "terminal locking" (with a
                 semaphore) to ensure that only one debug process can use
                 a terminal at any given time.  This prevents multiple
                 prompts from appearing on the screen when debugging
                 multiple processes at the same terminal.  The TERM
                 command may then be used to control which process owns
                 the semaphore.  If this variable is not set, no terminal
                 locking is performed.

                 The TERM_LDEV variable is not used to determine which
                 semaphore to attempt to lock; rather, the session number
                 is used for this purpose.  There is one semaphore per
                 session.  If a process enters Debug with its I/O from
                 the system console (that is, the CONSOLE_IO variable was
                 set to TRUE at entry), a single console semaphore is
                 used.

                 Altering the value of the CONSOLE_IO variable or the
                 TERM_LDEV variable does _not affect which semaphore is
                 used for terminal locking.

                 This variable is not available in DAT.

TERM_LOUD        BOOL (io) rw * 

                 If this variable is clear, all output to the terminal is
                 suppressed with the exception of prompts and error
                 messages.  This is useful when listing large amounts of
                 data to a list file so that you do not see it on your
                 screen.  The default for this variable is TRUE.

TERM_PAGING      BOOL (io) rw * 

                 If this variable is set, all output is paged.  That is,
                 after each full screen of output, System Debug pauses.
                 At that point the user is prompted with the question
                 "MORE?".  Any response that does not begin with the
                 letter "Y" or "y" will cause the user to be returned to
                 the System Debug prompt (any pending output is flushed).
                 This variable may also be set with the SET MOREON/SET
                 MOREOFF commands.  The default value is FALSE.

TERM_WIDTH       U16 (io) rw * 

                 This is the number of characters to print per line.  The
                 default is set at 79.  Any output line longer than this
                 value is split with the remainder placed on the next
                 line.

TIME             STR (misc) r  

                 The current time of day in the format:  "5:25 PM".

TR0 - TR7        U32 (n*eg) r dM 

                 NM "temp" registers (alias for CR24..CR31).

TRACE_FUNC       U16 (cmd) rw  

                 Setting this variable allows you to observe function
                 calls and their parameters.  The current values and
                 meanings are:

                 0       Trace is off.
                 1       Trace EXIT from functions.
                 2       Trace ENTRY and EXIT from functions.
                 3       Trace function PARAMETERS as well as ENTRY and
                         EXIT.

TRUE             BOOL (const) r  

                 The constant "TRUE".

VARS             U16 (limits) rw 

                 The VARS limit determines the maximum number of
                 variables that can be defined by the VAR command.  The
                 VARS limit must be set (changed from the default) before
                 the first variable is defined.  The VARS limit is
                 automatically increased to the nearest prime number.
                 The combined sum of the VARS and VARS_LOC limits must be
                 less than or equal to the value of VARS_LIMIT.

VARS_LIMIT       U16 (limits) r 

                 VARS_LIMIT is the compile time constant that defines the
                 absolute maximum size of the variable table.  The
                 product must be recompiled and redistributed to increase
                 this absolute capacity.  The combined sum of the VARS
                 and VARS_LOC limits must be less than or equal to the
                 value VARS_LIMIT.

VARS_LOC         U16 (limits) rw 

                 The VARS_LOC limit determines the maximum number of
                 local variables that can be defined.  Local variables
                 are explicitly defined by the LOC command, and are
                 implicitly defined for macro parameters.  The VARS_LOC
                 limit must be set before any local variable is defined.
                 The combined sum of the VARS and VARS_LOC limits must be
                 less than the value VARS_LIMIT.

VARS_TABLE       U16 (limits) rw 

                 VARS_TABLE tracks the total number of entries in the
                 variable table, which is defined to be the sum of
                 variables VARS plus VARS_LOC. The VARS_TABLE size must
                 always be less than or equal to VARS_LIMIT.

VERSION          STR (misc) r  

                 The version ID of the program, for example, "DAT XL
                 A.00.00".

VW               LPTR (win) r  

                 The virtual address where the current virtual window is
                 aimed.

VWO              SPTR (win) r  

                 The offset portion for the virtual address where the
                 current virtual window is aimed.

VWS              U32 (win) r  

                 The sid portion for the virtual address where the
                 current virtual window is aimed.

WIN_LENGTH       U32 (io) rw *  

                 Specifies the number of lines available on the display
                 terminal.  The default value is #24.  Values grater than
                 or less than the actual number of terminal lines may
                 cause unpredictable screen output.

WIN_WIDTH        U32 (io) rw *  

                 Specifies the number of columns available on the display
                 terminal.  The default value is #80.  Modification of
                 this value is permitted, but the value is ignored.

X                U16 (c*eg) r dm  

                 The CM X (index) register.

ZW               U32 (win) r  

                 The real address where the Z window is aimed.

Examples 

     %cmdebug > env autoignore true 

Set the environment variable AUTOIGNORE to TRUE.

     $nmdebug > env cmdlinesubs true 

Set the variable CMDLINESUBS to TRUE. This enables command line
substitutions, that may have been disabled while macros were being read
in from a file.

Limitations, Restrictions 

none


CAUTION The output format of all System Debug commands is subject to change without notice. Programs that are developed to postprocess System Debug output should not depend on the exact format (spacing, alignment, number of lines, uppercase or lowercase, or spelling) of any System Debug command output.


MPE/iX 5.0 Documentation