HPlogo System Debug Reference Manual > Chapter 6 System Debug Command Specifications M-X

PROCLIST

MPE documents

Complete PDF
Table of Contents
Index

E0201 Edition 4 ♥
E0300 Edition 3
E0692 Edition 3

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.




PIN


PSEUDOMAP