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

OpenVMS VAX System Dump Analyzer Utility Manual


Previous Contents Index

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 in uniprocessor and multiprocessor environments
EXECUTE_COMMAND Causes SDA 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 in uniprocessor and multiprocessor environments
SYMBOLS Consists of up to 31 letters and numbers, and can include the dollar sign ($) and underscore (_) characters. When you invoke SDA, it reads in the global symbols from symbols table psect of SYS$BASE_IMAGE.EXE, and from REQSYSDEF.STB, a required subset of the symbols in the file SYSDEF.STB. You can add other symbols to SDA's symbol table by using the DEFINE and READ commands.


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     COPY       CPU_Context     DEFINE          EVALUATE   EXAMINE 
  Execute_Command       EXIT       Expressions          FORMAT     HELP 
  Initialization        Operation  Process_Context      READ       REPEAT 
  SEARCH     SET        SHOW       SPAWN      Symbols   VALIDATE QUEUE 
 
Topic? 

READ

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

Format

READ {/EXECUTIVE directory-spec| [RELOCATE=expression]|filespec}


Parameter

filespec

Name of the device, directory, and file that contains the object module from which you want to copy global symbols. The filespec defaults to SYS$DISK:[default-dir]filename.STB, where SYS$DISK and [default-dir] represent the disk and directory specified in your last SET DEFAULT command. You must specify a file name.

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. (See Table SDA-13 for a list of those images.)

The directory-spec is the name of the directory containing the loadable images of the executive. This parameter defaults to SYS$LOADABLE_IMAGES.

/RELOCATE=expression

Adds the value of expression to the value of each symbol in the symbol table file to be read. You can use the /RELOCATE qualifier only if you also specify a filespec. The /RELOCATE qualifier is useful for examining images that are position independent and are loaded at a base of zero.

Description

The READ command symbolically identifies locations in memory for which the default symbol table (SYS$SYSTEM:SYS.STB) provides no definition. In other words, the required global symbols are located in modules that have been compiled and linked separately from the executive.5

The object module file specified in the READ command can be one of the following:

Most often the object module file is a file provided by the operating system in SYS$SYSTEM or SYS$LOADABLE_IMAGES. Many SDA applications, for instance, need to load the definitions of system data structures by issuing a READ command specifying SYS$SYSTEM:SYSDEF.STB. Others require the definitions of specific global entry points within the executive image that are contained within those object modules included in the executive.

Table SDA-12 lists those object module files provided in SYS$SYSTEM. Table SDA-13 lists those loadable images in SYS$LOADABLE_IMAGES that define locations within the executive image.

Table SDA-12 Modules Containing Global Symbols Used by SDA
File Contents
CLUSTRLOA.STB Symbols for loadable VAXcluster management code
DCLDEF.STB Symbols for the DCL interpreter
IMGDEF.STB Symbols for the image activator
NETDEF.STB Symbols for DECnet data structures
RMSDEF.STB Symbols that define RMS internal and user data structures and RMS$_ xxx completion codes
SCSDEF.STB Symbols that define data structures for system communications services
SYSDEF.STB Symbols that define system data structures, including the I/O database

Table SDA-13 Modules Defining Global Locations Within the Executive Image
File Contents
CPULOA.EXE Processor-specific data and initialization routines
ERRORLOG.EXE Error logging routines and system services
EVENT_FLAGS_AND_ASTS.EXE Event flag and AST delivery routines and system services
EXCEPTION.EXE Bugcheck and exception handling routines and those system services that declare condition and exit handlers
IMAGE_MANAGEMENT.EXE Image activator and the related system services
IO_ROUTINES.EXE $QIO system service, related system services (for example, SYS$CANCEL and SYS$ASSIGN), and supporting routines
LMF$GROUP_TABLE.EXE Data for valid, licensed product groups
LOCKING.EXE Lock management routines and system services
LOGICAL_NAMES.EXE Logical name routines and system services
MESSAGE_ROUTINES.EXE System message routines and system services (including SYS$SNDJBC and SYS$GETTIM)
PAGE_MANAGEMENT.EXE System pager, its supporting routines, and page management system services (including SYS$CRMPSC, SYS$CREDEL, and SYS$ADJSTK)
PRIMITIVE_IO.EXE Console I/O routines
PROCESS_MANAGEMENT.EXE Scheduler, report system event, and supporting routines and system services
RECOVERY_UNIT_SERVICES.EXE Recovery unit system services
RMS.EXE Global symbols and entry points for RMS
SECURITY.EXE Security management routines and system services
SYSDEVICE.EXE Mailbox driver and null driver
SYSGETSYI.EXE Get System Information system service (SYS$GETSYI)
SYSLICENSE.EXE Licensing system service (SYS$LICENSE)
SYSMSG.EXE System messages
SYSTEM_PRIMITIVES.EXE Miscellaneous basic system routines, including those that allocate system memory, maintain system time, create fork processes, and control mutex acquisition
SYSTEM_SYNCHRONIZATION.EXE Routines that enforce synchronization in a multiprocessing system
WORKING_SET_MANAGEMENT.EXE Swapper, its supporting routines, and working set management system services


Examples

#1

SDA>  READ SYS$SYSTEM:SYSDEF.STB
%SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYSEXE]SYSDEF.STB;1
      

The READ command causes SDA to add all the global symbols in SYS$SYSTEM:SYSDEF.STB to the SDA symbol table. Such symbols are useful when you are formatting an I/O data structure, such as a unit control block or an I/O request packet.

#2

SDA>  EXAM/INST EXE$QIO+2;4
EXE$QIO+00002:  CHMK    #001F
EXE$QIO+00006:  RET
SDA>  EXAM/INST V_EXE$QIO
%SDA-E-BADSYM, unknown symbol "V_EXE$QIO"
SDA>  READ/RELOCATE=IO_ROUTINES SYS$LOADABLE_IMAGES:IO_ROUTINES.EXE
%SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]IO_ROUTINES.EXE;1
SDA>  EXAM/INST EXE$QIO+2;4
EXE$QIO+00002:  MOVZBL  04(AP),R3
EXE$QIO+00006:  CMPB    R3,#3F
SDA>  EXAM/INST V_EXE$QIO+2;4
V_EXE$QIO+00002:  CHMK    #001F
V_EXE$QIO+00006:  RET
      

This SDA session shows that the initial examination of the instructions at EXE$QIO+2 and EXE$QIO+6 produces the vector for the system service, not the system service code itself. The subsequent READ instruction brings into the SDA symbol table the global symbols defined for the system's I/O routines, including one that redefines the entry point of the system service to be the start of the routine EXE$QIO. Thus, the second examination of the same memory locations produces the first two instructions in the routine. The READ command creates a special symbol, V_EXE$QIO, that points to the system service vector.

#3

SDA>  SHOW STACK
Process stacks (on CPU 01)
--------------------------
Current operating stack (KERNEL):
                                 
                7FF8F2B0  806BA870
                7FF8F2B4  7FF8F4C0
                7FF8F2B8  8016F33E     PAGE_MANAGEMENT+0053E
   .
   .
   .
SDA>  READ/RELOCATE=PAGE_MANAGEMENT SYS$LOADABLE_IMAGES:PAGE_MANAGEMENT.EXE
%SDA-I-READSYM, reading symbol table SYS$COMMON:[SYS$LDR]PAGE_MANAGEMENT.EXE;1
SDA>  SHOW STACK
Process stacks (on CPU 01)
--------------------------
Current operating stack (KERNEL):
                                 
                7FF8F2B0  806BA870
                7FF8F2B4  7FF8F4C0
                7FF8F2B8  8016F33E     MMG$LOCK_SYSTEM_PAGES+00188
   .
   .
   .
 
      

The initial SHOW STACK command contains an address that SDA resolves into an offset from the PAGE_MANAGEMENT module of the executive. The READ command loads the corresponding symbols into the SDA symbol table such that the reissue of the SHOW STACK command subsequently identifies the same location as an offset within a specific page management routine.

#4

 READ/EXEC
      


 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]RECOVERY_UNIT_SERVICES.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]RMS.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]CPULOA.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]LMF$GROUP_TABLE.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]SYSLICENSE.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]SYSGETSYI.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]SYSDEVICE.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]MESSAGE_ROUTINES.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]EXCEPTION.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]LOGICAL_NAMES.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]SECURITY.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]LOCKING.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]PAGE_MANAGEMENT.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]WORKING_SET_MANAGEMENT.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]IMAGE_MANAGEMENT.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]EVENT_FLAGS_AND_ASTS.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]IO_ROUTINES.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]PROCESS_MANAGEMENT.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]ERRORLOG.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]PRIMITIVE_IO.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]SYSTEM_SYNCHRONIZATION.EXE;1 
 %SDA-I-READSYM, reading symbol table  SYS$COMMON:[SYS$LDR]SYSTEM_PRIMITIVES.EXE;1 

This READ command brings all global symbols defined in the modules of SYS$SYSTEM:SYS.EXE (as listed in Table SDA-13) into the SDA symbol table. Included in its results is the work performed by the READ commands illustrated in the two previous examples. The READ/EXECUTIVE command, however, does not load those symbols contained in the modules described in Table SDA-12.

Note

5 SDA extracts no local symbols from the object module.

REPEAT

Repeats execution of the last command issued. On terminal devices, the KP0 key performs the same function as the REPEAT command.

Format

REPEAT


Parameters

None.

Qualifiers

None.

Description

The REPEAT command is useful for stepping through a linked list of data structures or for examining a sequence of memory locations.

Examples

#1

SDA>  FORMAT @IOC$GL_DEVLIST
8000B540   DDB$L_LINK              8000B898
8000B544   DDB$L_UCB               8000B5E0
8000B548   DDB$W_SIZE                  0044
   .
   .
   .
8000B554   DDB$B_NAME_LEN                03
           DDB$T_NAME              "OPA"   
   .
   .
   .
SDA>  FORMAT @.
8000B898   DDB$L_LINK              8000BBE0
8000B89C   DDB$L_UCB               8000B9E0
8000B8A0   DDB$W_SIZE                  0044
   .
   .
   .
8000B8AC   DDB$B_NAME_LEN                03
           DDB$T_NAME              "MBA"   
SDA>  [KP0]
8000BBE0   DDB$L_LINK              807F85C0
8000BBE4   DDB$L_UCB               8000BC80
8000BBE8   DDB$W_SIZE                  0044
   .
   .
   .
8000BBF4   DDB$B_NAME_LEN                03
           DDB$T_NAME              "NLA"   
      

This series of FORMAT commands pursues the chain of device data blocks (DDBs) from the system global symbol IOC$GL_DEVLIST. The second FORMAT command is constructed so that it refers to the contents of the address at the current location (see Section 7.2.4 for a discussion of SDA symbols). Subsequently, pressing the KP0 key---or issuing the REPEAT command---is sufficient to display each DDB in the device list.

#2

SDA> SHOW CALL_FRAME
Call Frame Information
----------------------
        Call Frame Generated by CALLG Instruction
    
Condition Handler       7FFE7D78  00000000
SP Align Bits = 00      7FFE7D7C  00000000
   Saved AP             7FFE7D80  7FFE7DC0      CTL$GL_KSTKBAS+005C0
   Saved FP             7FFE7D84  7FFE7D94      CTL$GL_KSTKBAS+00594
   .
   .
   .
SDA> SHOW CALL_FRAME/NEXT_FP
Call Frame Information
----------------------
        Call Frame Generated by CALLS Instruction
    
Condition Handler       7FFE7D94  00000000
SP Align Bits = 00      7FFE7D98  20FC0000
   Saved AP             7FFE7D9C  7FFED024      CTL$GL_KSTKBAS+005E4
   Saved FP             7FFE7DA0  7FFE7DE4      SYSTEM_PRIMITIVES+020AA
   .
   .
   .
SDA> REPEAT
Call Frame Information
----------------------
        Call Frame Generated by CALLG Instruction
    
Condition Handler       7FFE7DE4  00000000
   .
   .
   .
      

The first SHOW CALL_FRAME displays the call frame indicated by the current FP value. Because the /NEXT_FP qualifier to the instruction displays the call frame indicated by the saved FP in the current call frame, you can use the REPEAT command to repeat the SHOW CALL_FRAME/NEXT_FP command and follow a chain of call frames.

SEARCH

Scans a range of memory locations for all occurrences of a specified value.

Format

SEARCH [/qualifier] range[=]expression


Parameters

range

Location in memory to be searched. A location can be represented by any valid SDA expression (see Section 7.2). To search a range of locations, use the following format:
m:n Range of locations to be searched, from m to n
m;n Range of locations to be searched, starting at m and continuing for n bytes

expression

Indication of the value for which SDA is to search. SDA evaluates the expression and searches the specified range of memory for the resulting value. For a description of SDA expressions, see Section 7.2.

Qualifiers

/LENGTH={LONGWORD|WORD|BYTE}

Specifies the size of the expression value that the SEARCH command uses for matching. If you do not specify the /LENGTH qualifier, the SEARCH command uses a longword length by default.

/STEPS={QUADWORD|LONGWORD|WORD|BYTE}

Specifies the granularity of the search through the specified memory range. After the SEARCH command has performed the comparison between the value of expression and memory location, it adds the specified step factor to the address of the memory location to determine the next location to undergo the comparison. If you do not specify the /STEPS qualifier, the SEARCH command uses a step factor of one longword.

Description

SEARCH displays each location as each value is found.

Examples

#1

SDA> SEARCH GB81F0;500 60068
Searching from 800B81F0 to 800B86F0 in LONGWORD steps for 00060068...
Match at 800B8210
SDA>
      

The SEARCH command finds the value 0060068 in the longword at 800B8210.

#2

SDA> SEARCH/STEPS=BYTE 80000000;1000 6
Searching from 80000000 to 80001000 in BYTE steps for 00000006...
Match at 80000A99
SDA>
      

The SEARCH command finds the value 00000006 in the longword at 80000A99.

#3

SDA> SEARCH/LENGTH=WORD 80000000;2000 6
Searching from 80000000 to 80002000 in LONGWORD steps for 0006...
Match at 80000054
Match at 800001EC
Match at 800012AC
Match at 800012B8
SDA>
      

The SEARCH command finds the value 0006 in the longword locations 80000054, 800001EC, 800012AC, and 800012B8.


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
4556PRO_007.HTML