[OpenVMS documentation]
[Site home] [Send comments] [Help with this site] [How to order documentation] [OpenVMS site] [Compaq site]
Updated: 11 December 1998

OpenVMS Alpha System Analysis Tools Manual


Previous Contents Index

The EXAMINE/PTE command displays and formats the level 1 page table entry at FFFFFFFF.FF7FC000.


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 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.


FORMAT

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

Format

FORMAT [/TYPE=block-type] location [/PHYSICAL]


Parameter

location

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

Qualifiers

/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 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.

/PHYSICAL

Specifies that the location given is a physical address.

Description

The FORMAT command performs the following actions:

Most OpenVMS Alpha control blocks include a byte that indicates the block type, and associates 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 block-type byte contains a valid block type (and/or subtype), 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 form


<block type>$<type>_<name> 

where type is one of the following:


B  Byte 
W  Word 
L  Longword 
Q  Quadword 
 
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 this 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 Alpha 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 Alpha. See the READ command description for instructions on creating such an object module.

Certain OpenVMS Alpha data structures do not contain a block type at offset 0A16. If this byte contains information other than a block type---or the byte does not contain a valid block type---SDA either formats the block in a totally inappropriate way, based on the contents of 0A16 and 0B16, or displays this 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 3-column display:


Example


SDA>READ SDA$READ_DIR:SYSDEF.STB
%SDA-I-READSYM, 913 symbols read from SYS$COMMON:[SYS$LDR]SYSDEF.STB
SDA>FORMAT G41F818
FFFFFFFF.8041F818   UCB$L_FQFL                      8041F818        UCB
                    UCB$L_MB_MSGQFL                 
                    UCB$L_RQFL                      
                    UCB$W_MB_SEED                   
                    UCB$W_UNIT_SEED                 
FFFFFFFF.8041F81C   UCB$L_FQBL                      8041F818        UCB
                    UCB$L_MB_MSGQBL                 
                    UCB$L_RQBL                      
FFFFFFFF.8041F820   UCB$W_SIZE                          0110         
FFFFFFFF.8041F822   UCB$B_TYPE                        10     
FFFFFFFF.8041F823   UCB$B_FLCK                      2C       
FFFFFFFF.8041F824   UCB$L_ASTQFL                    00000000         
                    UCB$L_FPC                       
                    UCB$L_MB_W_AST                  
                    UCB$T_PARTNER                   
   .
   .
   .
      

The READ command loads into SDA's symbol table the symbols from SDA$READ_DIR:SYSDEF.STB. The FORMAT command displays the data structure that begins at G41F81816, 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 8041F82416 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 8041F81816.


HELP

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

Format

HELP [command-name]


Parameter

command-name

Command for which you need information.

You can also specify the following keywords in place of command-name:
Keyword Function
CPU_CONTEXT Describes the concept of CPU context as it governs the behavior of SDA.
EXECUTE_COMMAND Describes the use of @ file to execute SDA commands contained in a file.
EXPRESSIONS Prints a description of SDA expressions.
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.
PROCESS_CONTEXT Describes the concept of process context as it governs the behavior of SDA.
SYMBOLS Describes the symbols used by SDA.


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 those commands and topics for which you can request help, as follows:


 
  Information available: 
 
  ATTACH     CLUE       COPY       CPU_Context DEFINE     EVALUATE   EXAMINE 
  Execute_Command       EXIT       Expressions            FORMAT     HELP 
  Initialization        MAP        Operation   Process_Context       READ 
  REPEAT     SEARCH     SET        SHOW        SPAWN      Symbols    VALIDATE 
  
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. MAP searches for the specified address in executive images first. It then checks activated images in process space to include those images installed using the /RESIDENT qualifier of the Install utility. Finally, it checks all image-resident sections in system space.

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:


Psect Name      Module Name       Base     End           Length       Align     
----------      -----------       ----     ---           ------       -----     
 
$CODE$                          00000000 00000000 00000000 (     0.) QUAD  3...
                BUGCHECK_CODES  00000000 00000000 00000000 (     0.) QUAD  3 
 
$GLOBAL$                        00000000 00000000 00000000 (     0.) QUAD  3...
                BUGCHECK_CODES  00000000 00000000 00000000 (     0.) QUAD  3 
 
$LINK$                          00000000 00000000 00000000 (     0.) QUAD  3...
                BUGCHECK_CODES  00000000 00000000 00000000 (     0.) QUAD  3 
 
$OWN$                           00000000 00000000 00000000 (     0.) QUAD  3...
                BUGCHECK_CODES  00000000 00000000 00000000 (     0.) QUAD  3 
 
$PLIT$                          00000000 00000000 00000000 (     0.) QUAD  3...
                BUGCHECK_CODES  00000000 00000000 00000000 (     0.) QUAD  3 
 
.  LITERAL  .                   00000000 00000000 00000000 (     0.) QUAD  3...
                BUGCHECK_CODES  00000000 00000000 00000000 (     0.) QUAD  3 
 
. BLANK .                       00000000 00000000 00000000 (     0.) OCTA  4...
                SYS$DOINIT      00000000 00000000 00000000 (     0.) OCTA  4 
                EXECUTE_FAULT   00000000 00000000 00000000 (     0.) OCTA  4 
                GSD_ROUTINES    00000000 00000000 00000000 (     0.) OCTA  4 
                IOLOCK          00000000 00000000 00000000 (     0.) OCTA  4 
   .
   .
   .
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 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.


MODIFY DUMP

Allows a given byte, word, longword, or quadword in the dump to be modified.

Format

MODIFY DUMP {/BLOCK=n/OFFSET=n|/NEXT} [/CONFIRM=n] {/BYTE|/WORD|/LONGWORD (d)|/QUADWORD} value


Parameter

value

The new value deposited in the specified location in the dump file.

Qualifiers

/BLOCK=n

Block number to be modified. Required unless the /NEXT qualifier is given.

/OFFSET=n

Byte offset within block to be modified. Required unless the /NEXT qualifier is given.

/CONFIRM=n

Checks existing contents of location to be modified.

/NEXT

Indicates that the byte(s) immediately following the location altered by the previous MODIFY DUMP command is/are to be modified. Used instead of the /BLOCK=n and /OFFSET=n qualifiers.

/BYTE

Indicates that only a single byte is to be replaced.

/WORD

Indicates that a word is to be replaced.

/LONGWORD

Indicates that a longword is to be replaced. This is the default.

/QUADWORD

Indicates that a quadword is to be replaced.

Description

The MODIFY DUMP command is used on a dump file that cannot be analyzed without specifying the /OVERRIDE qualifier on the ANALYZE/CRASH_DUMP command. The MODIFY DUMP command corrects the problem that prevents normal analysis of a dump file. The MODIFY DUMP command can only be used when SDA has been invoked with the ANALYZE/CRASH_DUMP/ OVERRIDE command.

Important

This command is not intended for general use. It is provided for the benefit of Compaq support personnel when investigating crash dumps that cannot be analyzed in other ways.

Note that if the block being modified is part of the dump header, the error log buffers, or the compression map, the changes made are not seen when the appropriate SHOW DUMP command is issued, unless you first exit from SDA and then reissue the ANALYZE/CRASH_DUMP command.

The MODIFY DUMP command sets a bit in the dump header to indicate that the dump has been modified. Subsequent ANALYZE/CRASH_DUMP commands issued to that file produce the following warning message:


%SDA-W-DUMPMOD, dump has been modified 


Example


SDA> MODIFY DUMP/BLOCK=10/OFFSET=100/WORD FF
 
      

This example shows the dump file modified with word value of 0000 at offset 100 in block 00000010 replaced by 00FF.


SDA> MODIFY DUMP/BLOCK=10/OFFSET=100/WORD 0/CONFIRM=EE
 
      

This example shows that the actual word value of 00FF at offset 100 in block 00000010 does not match given value of 00EE. The following message is displayed:


%SDA-E-NOMATCH, expected value does not match value in dump; dump not updated 


SDA> MODIFY DUMP/BLOCK=10/OFFSET=100/WORD 0/CONFIRM=FF
 
      

This example shows the dump file modified with a word value of 00FF at offset 100 in block 00000010 replaced by 0000.


READ

Loads the global symbols contained in the specified file into the SDA symbol table.

Format

READ [/[NO]LOG|/RELOCATE =expression|/SYMVA=expression]
{/EXECUTIVE [directory spec]|/FORCE filespec
|/IMAGE filespec|filespec}


Parameters

directory-spec

The directory-spec is the name of the directory containing the loadable images of the executive. This parameter defaults to SDA$READ_DIR which is a search list of SYS$LOADABLE_IMAGES and SYS$LIBRARY.

filespec

Name of the device, directory, and file that contains the file from which you want to read global symbols. The filespec defaults to SYS$DISK:[default-dir]filename.type, where SYS$DISK and [default-dir] represent the disk and directory specified in your last DCL command SET DEFAULT. If no type has been given in filespec, SDA first tries .STB and then .EXE.

If no device or directory is given in the file specification, and the file specification is not found in SYS$DISK:[default_dir], then SDA attempts to open the file SDA$READ_DIR:filename.type. If no type has been given in filespec, SDA first tries .STB and then .EXE.

If the file name is the same as that of an execlet or image, but the symbols in the file are not those of the execlet or image, then you must use the /FORCE qualifier, and optionally /RELOCATE and /SYMVA qualifiers, to tell SDA how to interpret the symbols in the file.


Qualifiers

/EXECUTIVE directory-spec

Reads into the SDA symbol table all global symbols and global entry points defined within all loadable images that make up the executive. For all the execlets in the system, SDA reads the .STB or .EXE files in the requested directory.

/FORCE filespec

Forces SDA to read the symbols file, regardless of what other information or qualifiers are specified. If you do not specify the /FORCE qualifier, SDA may not read the symbols file if the specified filespec matches the image name in either the executive loaded images or the current processes activated image list, and one of the following conditions is true:

The use of /FORCE [/SYMVA=addr][/RELOCATE=addr] file spec is a variant of the /IMAGE qualifier and avoids fixing up the symbols to match an image of the same name.

/IMAGE filespec

Searches the executive loaded image list and the current process activated image list for the image specified by filespec. If the image is found, the symbols are read in using the image symbol vector (if there is one) and either slicing or relocation information.

This is the preferred way to read in the .STB files produced by the linker. These .STB files contain all universal and global symbols, unless SYMBOL_TABLE=GLOBAL is in the linker options file, in which case the .STB file contains global symbols only.

/LOG
/NOLOG

The /LOG qualifier causes SDA to output the %SDA-I-READSYM message for each symbol table file it reads. This is the default. The /LOG qualifier can be specified with any other combination of parameter and qualifier.

The /NOLOG qualifier suppresses the output of the %SDA-I-READSYM messages. The /NOLOG qualifier can be specified with any other combination of parameter and qualifier.

/RELOCATE=expression

Changes the relative addresses of the symbols to absolute addresses by adding the value of expression to the value of each symbol in the symbol-table file to be read. This qualifier changes those addresses to absolute addresses in the address space into which the dump is mapped.

The relocation only applies to symbols with the relocate flag set. All universal symbols must be found in the symbol vector for the image. All constants are read in without any relocation.

If the image is sliced (image sections are placed in memory at different relative offsets than how the image is linked), then the /RELOCATE qualifier does not work. SDA compares the file name used as a parameter to the READ command against all the image names in the executive loaded image list and the current processes activated image list. If a match is found, and that image contains a symbol vector, an error results. At this point you can either use the /FORCE qualifier or the /IMAGE qualifier to override the error.

/SYMVA=expression

Informs SDA whether the absolute symbol vector address is for a shareable image (SYS$PUBLIC_VECTORS.EXE) or base system image (SYS$BASE_IMAGE.EXE). All symbols found in the file with the universal flag are found by referencing the symbol vector (that is, the symbol value is a symbol vector offset).

Description

The READ command symbolically identifies locations in memory and the definitions used by SDA for which the default files (SDA$READ_DIR:SYS$BASE_IMAGE.EXE and SDA$READ_DIR:REQSYSDEF.STB) provide no definition. In other words, the required global symbols are located in modules and symbol tables that have been compiled and/or linked separately from the executive. SDA extracts no local symbols from the files.

The file specified in the READ command can be the output of a compiler or assembler (for example, an .OBJ file).


Previous Next Contents Index

[Site home] [Send comments] [Help with this site] [How to order documentation] [OpenVMS site] [Compaq site]
[OpenVMS documentation]

Copyright © Compaq Computer Corporation 1998. All rights reserved.

Legal
6549PRO_006.HTML