HP OpenVMS System Analysis Tools Manual
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, the name of an SDA extension such as CLUE
or FLT, or a keyword such as Extensions or Process_Context.
If you enter HELP with no topic name, a list of all topics is displayed.
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
|
On Integrity servers, the MAP command can also provide additional data
for addresses in system space. If the address is determined to be in a
code section of an executive loaded image or a resident shareable
image, and if the image file is accessible and was linked using
/TRACEBACK, the traceback data is used to obtain and display the module
name and routine name information. See Example 11.
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.
#11 |
SDA> MAP FFFFFFFF.8042FE00
Image Base End Image Offset
EXCEPTION_MON
Code FFFFFFFF.8041FE00 FFFFFFFF.804E3DFF 00000000.00028000
Module: IPF_DECODE + 00005380
Routine: process_i_unit + 00000840
|
This example shows the additional module and routine offset information
that is displayed for system space code sections.
MODIFY DUMP
Allows a given byte, word, longword, or quadword in the dump file to be
modified.
Format
MODIFY DUMP value {/BLOCK=n/OFFSET=n | /NEXT}
{/BYTE | /WORD | /LONGWORD (d) | /QUADWORD} [/CONFIRM=n]
Parameter
value
New value deposited in the specified location in the dump file.
Qualifiers
/BLOCK=n
Indicates block number to be modified. Required unless the /NEXT
qualifier is given.
/OFFSET=n
Indicates byte offset within block to be modified. Required unless the
/NEXT qualifier is given.
/NEXT
Indicates that the byte or bytes immediately following the location
altered by the previous MODIFY DUMP command 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.
/CONFIRM=n
Checks existing contents of location to be modified.
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. You can use the MODIFY DUMP command to correct the problem
that prevents normal analysis of a dump file. You can only use the
MODIFY DUMP command when you have invoked SDA with the
ANALYZE/CRASH_DUMP/OVERRIDE command.
Important
This command is not intended for general use. It is provided for the
benefit of HP support personnel when investigating crash dumps that
cannot be analyzed in other ways.
|
If the block being modified is part of either the dump header, the
error log buffers, or the compression map, the changes made are not
seen when you issue the appropriate SHOW DUMP command, 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
|
Examples
#1 |
SDA>> MODIFY DUMP/BLOCK=10/OFFSET=100/WORD FF
|
This example shows the dump file modified with the word at offset 100
in block 00000010 replaced by 00FF.
#2 |
SDA>> MODIFY DUMP/BLOCK=10/OFFSET=100/WORD 0/CONFIRM=EE
%SDA-E-NOMATCH, expected value does not match value in dump; dump not updated
|
This example shows what happens when the actual word value of 00FF at
offset 100 in block 00000010 does not match the given value of 00EE.
#3 |
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.
|