hp.com home products and services support and drivers solutions how to buy
cd-rom home
End of Jump to page title
HP OpenVMS systems
documentation

Jump to content


HP OpenVMS System Analysis Tools Manual

HP OpenVMS System Analysis Tools Manual


Previous Contents Index


EXIT

Exits from an SDA display or exits from the SDA utility.

Format

EXIT


Parameters

None.

Qualifiers

None.

Description

If SDA is displaying information on a video display terminal---and if that information extends beyond one screen---SDA enters display mode and displays a screen overflow prompt at the bottom of the screen:


Press RETURN for more. 
SDA> 

If you want to discontinue the current display at this point, enter the EXIT command. If you want SDA to execute another command, enter that command. SDA discontinues the display as if you entered EXIT, and then executes the command you entered.

When the SDA> prompt is not immediately preceded by the screen overflow prompt, entering EXIT causes your process to cease executing the SDA utility. When issued within a command procedure (either the SDA initialization file or a command procedure invoked with the execute (@) command), EXIT causes SDA to terminate execution of the procedure and return to the SDA prompt.

See Section 2.6.2 for a description of SDA display mode.


FORMAT

Displays a formatted list of the contents of a block of memory.

Format

FORMAT [/TYPE=block-type] location [/NOSYMBOLIZE][/PAGE][/PHYSICAL] [/POSITIVE]


Parameter

location

Location of the beginning of the data block. The location can be given as any valid SDA expression.

Qualifiers

/NOSYMBOLIZE

If /NOSYMBOLIZE is specified, no attempt is made to symbolize the contents of any field in a structure. This is useful if the loaded execlet or activated image lists are corrupted, since symbolization relies on these lists.

/PAGE

If the output of the formatted structure does not fit on one screen, SDA enters display mode. (For information on this topic, see Section 2.6.2.) By default, SDA displays the formatted structure without screen overflow prompts.

/PHYSICAL

Specifies that the location given is a physical address.

/POSITIVE

Symbols that describe negative offsets from the start of the structure are ignored. By default, all symbols for the block type are processed.

/TYPE=block-type

Forces SDA to characterize and format a data block at location as the specified type of data structure. The /TYPE qualifier thus overrides the default behavior of the FORMAT command in determining the type and/or subtype of a data block, as described in the Description section. The block-type can be the symbolic prefix of any data structure defined by the operating system.

Description

The FORMAT command performs the following actions:

Most OpenVMS control blocks include two bytes that indicate the block type and/or subtype at offsets 0A16 and 0B16, respectively. The type and/or subtype associate the block with a set of symbols that have a common prefix. Each symbol's name describes a field within the block, and the value of the symbol represents the offset of the field within the block.

If the type and/or subtype bytes contain a valid block type/subtype combination, SDA retrieves the symbols associated with that type of block (see $DYNDEF) and uses their values to format the block.

For a given block type, all associated symbols have the following form:


<block_type>$<field>_<name> 

where field is one of the following:


B  Byte 
W  Word 
L  Longword 
Q  Quadword 
O  Octaword 
A  Address 
C  Constant 
G  Global Longword 
P  Pointer 
R  Structure (variable size) 
T  Counted ASCII string (up to 31 characters) 

If SDA cannot find the symbols associated with the block type specified in the block-type byte or by the /TYPE qualifier, it issues the following message:


%SDA-E-NOSYMBOLS, no <block type> symbols found to format this block 

If you receive this message, you may want to read additional symbols into the SDA symbol table and retry the FORMAT command. Many symbols that define OpenVMS data structures are contained within SDA$READ_DIR:SYSDEF.STB. Thus, you would issue the following command:


SDA> READ SDA$READ_DIR:SYSDEF.STB

If SDA issues the same message again, try reading additional symbols. Table 2-4 lists additional modules provided by the OpenVMS operating system. Alternatively, you can create your own object modules with the MACRO-32 Compiler for OpenVMS. See the READ command description for instructions on creating such an object module.

Certain OpenVMS data structures do not contain a block type and/or subtype. If bytes contain information other than a block type/subtype---or do not contain a valid block type/subtype--- SDA either formats the block in a totally inappropriate way, based on the contents of offsets 0A16 and 0B16, or displays the following message:


%SDA-E-INVBLKTYP, invalid block type in specified block 

To format such a block, you must reissue the FORMAT command, using the /TYPE qualifier to designate a block-type.

The FORMAT command produces a three-column display containing the following information:


Examples

#1

SDA> READ SYSDEF
SDA> format  81475D00
FFFFFFFF.81475D00   UCB$L_FQFL           8104EA58          EXE$GL_FKWAITFL+00078 
                    UCB$L_MB_MSGQFL 
                    UCB$L_RQFL 
                    UCB$W_MB_SEED 
                    UCB$W_UNIT_SEED
FFFFFFFF.81475D04   UCB$L_FQBL           81412038 
                    UCB$L_MB_MSGQBL 
                    UCB$L_RQBL 
FFFFFFFF.81475D08   UCB$W_SIZE                        0380 
FFFFFFFF.81475D0A   UCB$B_TYPE                      10 
FFFFFFFF.81475D0B   UCB$B_FLCK                    3A 
FFFFFFFF.81475D0C   UCB$L_ASTQFL         81223888          SYS$DKDRIVER+19A88 
                    UCB$L_FPC 
                    UCB$L_MB_W_AST 
                    UCB$T_PARTNER 
  . 
  . 
  .
 
 
      

In this example on an OpenVMS Alpha system, the READ command loads the symbols from SDA$READ_DIR:SYSDEF.STB into SDA's symbol table. The FORMAT command displays the data structure that begins at 81475D0016, a unit control block (UCB). If a field has more than one symbolic name, all such names are displayed. Thus, the field that starts at 81475D0C16 has four designations: UCB$L_ASTQFL, UCB$L_FPC, UCB$L_MB_W_AST, and UCB$T_PARTNER.

The contents of each field appear to the right of the symbolic name of the field. Thus, the contents of UCB$L_FQBL are 8104EA5816.

#2

SDA> read sysdef
SDA> read/exec
SDA> format 84191D00
FFFFFFFF.84191D00   SPL$L_OWN_CPU                      00000000 
FFFFFFFF.84191D04   SPL$L_OWN_CNT             FFFFFFFF 
FFFFFFFF.84191D08   SPL$W_SIZE                             0100 
FFFFFFFF.84191D0A   SPL$B_TYPE                           4F 
FFFFFFFF.84191D0B   SPL$B_SUBTYPE                      01 
FFFFFFFF.84191D0C   SPL$L_SPINLOCK            00000000 
FFFFFFFF.84191D10   SPL$L_RANK                         00000000 
FFFFFFFF.84191D14   SPL$B_IPL                       1F 
                    SPL$L_IPL 
FFFFFFFF.84191D15                             000000 
FFFFFFFF.84191D18   SPL$L_RLS_PC                       00000000 
FFFFFFFF.84191D1C   SPL$L_BUSY_WAITS          00000000 
FFFFFFFF.84191D20   SPL$L_WAIT_CPUS                    00000000 
FFFFFFFF.84191D24   SPL$L_WAIT_PC             00000000 
FFFFFFFF.84191D28   SPL$Q_SPINS               00000000.00000000 
FFFFFFFF.84191D30   SPL$Q_ACQ_COUNT           00000000.00008E08 
FFFFFFFF.84191D38   SPL$L_TIMO_INT                     000186A0    UCB$M_FLOPPY_MEDIA+006A0 
FFFFFFFF.84191D3C   SPL$PS_SHARE_ARRAY        00000000 
FFFFFFFF.84191D40   SPL$PS_SHARE_LINK                  00000000 
FFFFFFFF.84191D44   SPL$T_NAME                "" 
FFFFFFFF.84191D45                             000000 
FFFFFFFF.84191D48                             00000000.00000000 
FFFFFFFF.84191D50   SPL$Q_RELEASE_COUNT       00000000.00008E08 
FFFFFFFF.84191D58   SPL$Q_HISTORY_BITMASK     00000000.00000000 
FFFFFFFF.84191D60   SPL$Q_ABUSE_THRESHOLD     00000000.00000000 
FFFFFFFF.84191D68   SPL$Q_FLAGS               00000000.00000000 
FFFFFFFF.84191D70                             00000000.00000000 
       ...                                           ... 
FFFFFFFF.84191D80   SPL$Q_ABUSE_BITMASK       00000000.00000000 
FFFFFFFF.84191D88                             00000000.00000000 
       ...                                           ... 
FFFFFFFF.84191DB8                                      00000000 
FFFFFFFF.84191DBC   SPL$L_VEC_INX             00000010 
FFFFFFFF.84191DC0   SPL$L_OWN_PC_VEC                   8016B7A0    ERL$WAKE_C+00370 
FFFFFFFF.84191DC4                             8016BF50             ERL$WAKE_C+00B20 
FFFFFFFF.84191DC8                             8016BF50.8016B7A0 
       ...                                           ... 
FFFFFFFF.84191DD8                             8016B8C0.8016B7A0 
FFFFFFFF.84191DE0                             000231E0.00022C20 
FFFFFFFF.84191DE8                             00023BF0.000238D0 
FFFFFFFF.84191DF0                             000231E0.00022C20 
 
FFFFFFFF.84191DF8                             00023BF0.000238D0 
                    SPL$C_LENGTH
   .
   .
   .
 
      

In this example on an OpenVMS I64 system, the READ command loads the symbols from SYSDEF and the loaded executive images into SDA's symbol table. The FORMAT command displays the data structure that begins at 84191D0016, a spinlock control block (SPL). If a field has more than one symbolic name, all such names are displayed. Thus, the field that starts at 84191D1416 has two designations: SPL$B_IPL and SPL$L_IPL.

The contents of each field appear to the right of the symbolic name of the field. Thus, the contents of SPL$B_IPL is 1F16.


HELP

Displays information about the SDA utility, its operation, and the format of its commands.

Format

HELP [topic-name]


Parameter

topic-name

Topic for which you need information. A topic can be an SDA command name such as ATTACH or COPY or one of the following keywords:
Keyword Function
ANALYZE_Usage Describes the parameters and qualifiers for the ANALYZE/CRASH_DUMP and ANALYZE/SYSTEM DCL commands
CLUE_Info Describes SDA CLUE (Crash Log Utility Extractor)
Commands Provides information on specific SDA commands
CPU_Context Describes the concept of CPU context as it governs the behavior of SDA
Execute Describes the use of @file to execute SDA commands contained in a file
Initialization Describes the circumstances under which SDA executes an initialization file when first invoked
Operation Describes how to operate SDA at your terminal and by means of the site-specific startup procedure
Page_Protections Describes page protections and access for Alpha and I64 systems
Process_Context Describes the concept of process context as it governs the behavior of SDA
SDA_Extension_Routines Describes how to write, debug, and invoke an SDA extension and provides details of all callable routines
SDA_Symbols Describes the symbols used by SDA
SPL_Info Provides an overview of SDA SPL (Spinlock Tracing Utility)
Using_Expressions Describes use of SDA expressions

Qualifiers

None.

Description

The HELP command displays brief descriptions of SDA commands and concepts on the terminal screen (or sends these descriptions to the file designated in a SET OUTPUT command). You can request additional information by specifying the name of a topic in response to the Topic? prompt.

If you do not specify a parameter in the HELP command, it lists the features of SDA and those commands and topics for which you can request help, as follows:


Example


SDA> HELP
HELP 
 
 
     The System Dump Analyzer (SDA) allows you to inspect the contents 
     of memory as saved in the dump taken at crash time or as exists 
     in a running system. You can use SDA interactively or in batch 
     mode. You can send the output from SDA to a listing file. You can 
     use SDA to perform the following operations: 
 
                     Assign a value to a symbol 
                     Examine memory of any process 
                     Format instructions and blocks of data 
                     Display device data structures 
                     Display memory management data structures 
                     Display a summary of all processes on the system 
                     Display the SDA symbol table 
                     Copy the system dump file 
                     Read global symbols from any object module 
                     Search memory for a given value 
                     Send output to a file or device 
 
     For help on performing these functions, use the HELP command and 
     specify a topic. 
 
     Format 
 
       HELP  [topic-name] 
 
 
 
  Additional information available: 
 
     . 
     . 
     . 
 
 
Topic?
  
 
 
      


MAP

Transforms an address into an offset in a particular image.

Format

MAP address


Parameter

address

Address to be identified.

Qualifiers

None.

Description

The MAP command identifies the image name and offset corresponding to an address. With this information, you can examine the image map to locate the source module and program section offset corresponding to an address.

If the address is in system space, MAP searches for the specified address in executive images first. It then checks activated images in process space to search those images installed using the /RESIDENT qualifier of the Install utility. Finally, it checks all image-resident sections in system space.

If the address is in process space, MAP searches the activated images for the process.

If the address cannot be found, MAP displays the following message:


%SDA-E-NOTINIMAGE, Address not within a system/installed image 


Examples

#1

SDA> MAP G90308
Image                               Base      End       Image Offset
SYS$VM                                 
Nonpaged read only                  80090000  800ABA00  00000308
 
      

Examining the image map identified by this MAP command (SYS$VM.MAP) shows that image offset 308 falls within psect EXEC$HI_USE_PAGEABLE_CODE because the psect goes from offset 0 to offset 45D3:


   .
   .
   .
EXEC$HI_USE_PAGEABLE_CODE       00000000 000045D3 000045D4 ( 17876.) 2 **  5...
                SYSCREDEL       00000000 0000149B 0000149C (  5276.) 2 **  5 
                SYSCRMPSC       000014A0 000045D3 00003134 ( 12596.) 2 **  5 
 
EXEC$NONPAGED_CODE              000045E0 0001B8B3 000172D4 ( 94932.) 2 **  5...
                EXECUTE_FAULT   000045E0 0000483B 0000025C (   604.) 2 **  5 
                IOLOCK          00004840 000052E7 00000AA8 (  2728.) 2 **  5 
                LOCK_SYSTEM_PAGES                      
   .
   .
   .
Specifically, image offset 308 is located within source module SYSCREDEL. Therefore, to locate the corresponding code, you would look in SYSCREDEL for offset 308 in psect EXEC$HI_USE_PAGEABLE_CODE.

#2

SDA> MAP G550000
Image                            Base         End       Image Offset
SYS$DKDRIVER                     80548000     80558000  00008000
      

In this example, the MAP command identifies the address as an offset into an executive image that is not sliced. The base and end addresses are the boundaries of the image.

#3

SDA> MAP G550034
Image                            Base         End       Image Offset
SYS$DUDRIVER
      Nonpaged read/write        80550000     80551400  00008034
      

In this example, the MAP command identifies the address as an offset into an executive image that is sliced. The base and end addresses are the boundaries of the image section that contains the address of interest.

#4

SDA> MAP GF0040 
Image Resident Section           Base         End       Image Offset
MAILSHR                          800F0000     80119000  00000040
      

The MAP command identifies the address as an offset into an image-resident section residing in system space.

#5

SDA> MAP 12000  
Activated Image                  Base         End       Image Offset
MAIL                             00010000     000809FF  00002000
      

The MAP command identifies the address as an offset into an activated image residing in process-private space.

#6

SDA> MAP B2340  
Compressed Data Section          Base         End       Image Offset
LIBRTL                           000B2000     000B6400  00080340
      

The MAP command identifies the address as being within a compressed data section. When an image is installed with the Install utility using the /RESIDENT qualifier, the code sections are mapped in system space. The data sections are compressed into process-private space to reduce null pages or holes in the address space left by the absence of the code section. The SHOW PROCESS/IMAGE=ALL display shows how the data has been compressed; the MAP command searches this information to map an address in a compressed data section to an offset in an image.

#7

SDA> MAP 7FC06000  
Shareable Address Data Section          Base      End       Image Offset
LIBRTL                                  7FC06000  7FC16800  00090000
      

The MAP command identifies the address as an offset into a shareable address data section residing in P1 space.

#8

SDA> MAP 7FC26000
Read-Write Data Section                 Base      End       Image Offset
LIBRTL                                  7FC26000  7FC27000  000B0000
      

The MAP command identifies the address as an offset into a read-write data section residing in P1 space.

#9

SDA> MAP 7FC36000
Shareable Read-Only Data Section        Base      End       Image Offset
LIBRTL                                  7FC36000  7FC3F600  000C0000
      

The MAP command identifies the address as an offset into a shareable read-only data section residing in P1 space.

#10

SDA> MAP 7FC56000
Demand Zero Data Section                Base      End       Image Offset
LIBRTL                                  7FC56000  7FC57000  000E0000
      

The MAP command identifies the address as an offset into a demand zero data section residing in P1 space.


Previous Next Contents Index