HP 3000 Manuals

PROCLIST [ System Debug Reference Manual ] MPE/iX 5.0 Documentation


System Debug Reference Manual

PROCLIST 

Lists the specified NM symbols in the specified NM executable library.

Syntax 

     PROCLIST [pattern] [lstfile] [lookup_id] [detail] [outputfile]

The values printed by this command are the values found in the symbol
table that is searched.  This command does not perform any form of symbol
location fixups.  The addresses printed for most data symbols must be
relocated relative to DP to be useful.

Parameters 

 pattern         The symbol names(s) that are to be listed.  The pattern
                 match is performed on the symbol name only.  That is:

                 parent_name.symbol_name         For nested procedures.
                 symbol_name                     For all other symbols.

                 For procedure symbols, only the procedure part is used
                 (file name and module are excluded from the pattern
                 match).

                 This parameter can be specified with wildcards or with a
                 full regular expression.  Refer to appendix A for
                 additional information about pattern matching and
                 regular expressions.

                 The following wildcards are supported:

                 @          Matches any character(s).
                 ?          Matches any alphabetic character.
                 #          Matches any numeric character.

                 The following are valid name pattern specifications:

                 @          Matches everything; all names.
                 pib@       Matches all names that start with "pib".
                 log2##4    Matches "log2004", "log2754", and so on.

                 The following regular expressions are equivalent to the
                 patterns with wildcards that are listed above:

                      `.*`
                      `pib.*`
                      log2[0-9][0-9]4`

                 By default, all symbols are listed.

 lstfile         The name of the executable library for which to list the
                 symbols (program or library).  If the parameter is not
                 given, the program file being executed is assumed.  The
                 address printed is the entry point of the procedure (not
                 the start of the procedure).

 lookup_id       Specifies which symbols to list.  If lookup_id is not
                 specified, PROCEDURES is assumed.  Refer to the
                 "Procedure Name Symbols" section in chapter 2 for
                 additional details.

                 PRESORTED       List System Object Module symbols Debug
                                 sorted for use in windows and TR.
                 UNIVERSAL       List exported procedures in the System
                                 Object Module.
                 LOCAL           List nonexported procedures in the
                                 System Object Module.
                 NESTED          List nested procedures in the System
                                 Object Module.
                 PROCEDURES      List local or exported procedures in the
                                 System Object Module.
                 ALLPROC         List local/exported/nested procedures in
                                 the System Object Module.
                 EXPORTSTUB      List export stubs in the System Object
                                 Module.
                 DATAANY         List exported and local data in the
                                 System Object Module.
                 DATAUNIV        List exported data in the System Object
                                 Module.
                 DATALOCAL       List local data in the System Object
                                 Module.
                 LSTPROC         List exported level 1 procedures in the
                                 LST.
                 LSTEXPORTSTUB   List export stubs in the LST.
                 ANY             List for any type of symbol in the
                                 System Object Module.

 detail          This parameter specifies the level of detail given when
                 listing the symbols.  The default value is 0 which lists
                 the address and name of the symbol.  Negative values are
                 converted to positive ones.  Any value larger than the
                 maximum defined detail level functions as if the actual
                 maximum detail level has been entered.

                 0                List symbol address and name.
                 1                Same as 0 but print symbol type, scope,
                                  residency bits.
                 2                Same as 1 but print address of symbol
                                  record.

                 The abbreviations used for the output are summarized
                 below.  Refer to the Object Module Definition document
                 for detailed descriptions and definitions of the terms.

                 The following keywords determine the symbol type:

                 ABS             Absolute constant.
                 DATA            Normal initialized data.
                 CODE            Unspecified code.
                 PRIPROG         Primary program entry point.
                 SECPROG         Secondary program entry point.
                 ENTRY           Any code entry point.
                 STORAGE         Storage.  The value of the symbol is not
                                 known.
                 STUB            Either an import or parameter relocation
                                 stub.
                 MODULE          Source module name.
                 SYMEXT          Symbol extension record.
                 ARGEXT          Argument extension record.
                 MILLI           Millicode subroutine.
                 DISOCT          Disabled translated CM code.
                 MILXTRN         External millicode subroutine.

                 The following terms determine the symbol scope:

                 UNSAT            Unsatisfied, import request not
                                  satisfied.
                 EXTERN           External, import request linked to
                                  symbol in another module.
                 LOCAL            Local, not exported for outside use.
                 UNIV             Universal, exported for outside use.

                 The following values determine the parameter check level
                 (CHECK):

                 0                No checking.
                 1                Check symbol type descriptor only.
                 2                Level 1, plus check number of arguments
                                  passed.
                 3                Level 2, plus check type of each
                                  argument.

                 The following values determine the execution level
                 required to call this entry point (XLEAST):

                 0,1,2,3          The minimum execution level needed.

                 The following letters indicate the value of various bits
                 associated with each symbol.  An uppercase letter
                 indicates the bit is "on", while a lowercase letter
                 means the bit is "off".

                 Q|q              "Must qualify" bit.
                 F|f              "Initially frozen" bit.
                 R|r              "Memory resident" bit.
                 C|c              "Is common" bit.
                 D|d              "Duplicate common" bit.

 outputfile      If this parameter is given, the symbols are sent to the
                 indicated file rather than to the terminal screen.

Examples 

     $nmdebug > proclist 
     4d5.58db     $START$
     4d5.6b58     $UNWIND_START
     4d5.6bc8     $UNWIND_END
     4d5.6be0     $RECOVER_START
     4d5.6be0     $RECOVER_END
     4d5.58bf     ?$START$
     4d5.5b53     processstudent.highscore
     4d5.5c3f     processstudent.lowscore
     4d5.5d27     processstudent
     4d5.6073     initstudentrecord
     4d5.681f     PROGRAM
     4d5.681f     _start
     4d5.5937     ?PROGRAM
     4d5.5957     ?_start
     4d5.5000     lr_na_unk
     4d5.5004     $find_alignment
     4d5.5084     $more_na
     4d5.5028     $bigger_but_still_small
     4d5.5024     $b_out
     4d5.5018     $b_loop
     4d5.5048     $wordloop

     control-Y encountered
     $nmdebug >

The above example lists all of the symbols for the current program file
(GRADES.DEMO.TELESUP). The file contains many symbols, including
millicode routines added to the program file by the Link Editor.  The
output was interrupted by striking the Control-Y key.

     $nmdebug > proclist processstudent@,,allproc 
     4d5.5b53     processstudent.highscore
     4d5.5c3f     processstudent.lowscore
     4d5.5d27     processstudent

List all procedures that start with the string "processstudent".

     $nmdebug > procl ,,nested 
     4d5.5b53     processstudent.highscore
     4d5.5c3f     processstudent.lowscore

     $nmdebug > procl ,,nested,1
     CODE    LOCAL    check: 0 xl: 3 qfrcd  4d5.5b53     processstudent.highscore
     CODE    LOCAL    check: 0 xl: 3 qfrcd  4d5.5c3f     processstudent.lowscore

The above examples print only the nested procedures.  A detail level
value of 1 was specified in the second example.

     $nmdebug > proclist `^a`,xl.demo 
     4d8.15c8b    average

Show all procedures in XL.DEMO that start with the letter "a".  Notice
the use of regular expressions (see appendix A) for the pattern matching
string.

     $nmdebug > procl ,,datauniv 
     4d5.40000008 $global$
     4d5.40000008 $dp$
     4d5.40000160 $PFA_C_START
     4d5.40000160 $PFA_C_END
     4d5.40000160 output
     4d5.400003a8 input

     $nmdebug > proclist ,,data,1 
     DATA    UNIV     check: 0 xl: 0 qfrcd  4d5.40000008 $global$
     DATA    UNIV     check: 0 xl: 0 qfrcd  4d5.40000008 $dp$
     DATA    UNIV     check: 0 xl: 0 qfrcd  4d5.40000160 $PFA_C_START
     DATA    UNIV     check: 0 xl: 0 qfrcd  4d5.40000160 $PFA_C_END
     DATA    UNIV     check: 1 xl: 0 qfrcd  4d5.40000160 output
     DATA    UNIV     check: 1 xl: 0 qfrcd  4d5.400003a8 input
     DATA    LOCAL    check: 0 xl: 3 qfrcd  4d5.5730     L$5
     DATA    LOCAL    check: 0 xl: 3 qfrcd  4d5.5780     L$8
     DATA    LOCAL    check: 0 xl: 0 qfrcd  4d5.40000008 M$1
     DATA    LOCAL    check: 0 xl: 3 qfrcd  4d5.5850     L$2

The PROCLIST command can also be used to list data symbols that are
present in the System Object Module directory.

     $nmdebug > proclist @FOPEN@,nl.pub.sys 
     a.3f8140   FOPEN
     a.374428   HPFOPEN
     a.2ea29b   P__FOPENERR

The final example requests a list of all procedures in the system NL that
have the uppercase letters "FOPEN" in their name.

Limitations, Restrictions 

Unless a file equation is used, the size of the output file defaults to
20000 records of 80 bytes each.

The LSTPROC and LSTEXPORTSTUB options are not implemented.

A PROCLIST for CM procedures and symbols is not implemented.


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