HPlogo System Debug Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 4 System Debug Command Specifications

PROCLIST

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

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.
Feedback to webmaster