 |
OpenVMS Alpha System Analysis Tools Manual
SET OUTPUT
Redirects output from SDA to the specified file or device.
Format
SET OUTPUT [/[NO]INDEX|/[NO]HEADER|/SINGLE_COMMAND] filespec
Parameter
filespec
Name of the file to which SDA is to send the output generated by its
commands. The default filespec is
SYS$DISK:[default_dir] filename.LIS, where SYS$DISK
and [default-dir] represent the disk and directory specified
in your last DCL command SET DEFAULT. You must specify a file name.
Qualifiers
/INDEX /NOINDEX
The /INDEX qualifer causes SDA to include an index page at the
beginning of the output file. This is the default, unless you specify
/NOHEADER See the /NOHEADER description. The /NOINDEX qualifier causes
SDA to omit the index page from the output file.
/HEADER /NOHEADER
The /HEADER qualifier causes SDA to include a heading at the top of
each page of the output file. This is the default. The /NOHEADER
qualifier causes SDA to omit the page headings. Use of /NOHEADER
implies /NOINDEX.
/SINGLE_COMMAND
Indicates to SDA that the output for a single command is to be written
to the specified file and that subsequent output should be written to
the terminal.
Description
When you use the SET OUTPUT command to send the SDA output to a file or
device, SDA continues displaying the SDA commands that you enter but
sends the output generated by those commands to the file or device you
specify. (See the description of the SET LOG command for a list of
differences between the SET LOG and SET OUTPUT commands.)
When you finish directing SDA commands to an output file and want to
return to interactive display, issue the following command:
SDA> SET OUTPUT SYS$OUTPUT
|
You do not need this command when you specify the /SINGLE_COMMAND
qualifier on the original SET OUTPUT command.
If you use the SET OUTPUT command to send the SDA output to a listing
file and do not specify /NOINDEX or /NOHEADER, SDA builds a table of
contents that identifies the displays you selected and places the table
of contents at the beginning of the output file. The SET OUTPUT command
formats the output into pages and produces a running head at the top of
each page, unless you specify /NOHEADER.
Note
See the description of the DUMP command for use of SET OUTPUT/NOHEADER.
|
SET PROCESS
Selects a process to become the SDA current process.
Format
SET PROCESS {/ADDRESS=pcb-address|process-name|/ID=nn |
/INDEX=nn |/NEXT|/SYSTEM}
Parameter
process-name
Name of the process to become the SDA current process. The
process-name can contain up to 15 uppercase letters,
numerals, the underscore (_), dollar sign ($), colon (:), and some
other printable characters. If it contains any other characters
(including lowercase letters), you may need to enclose the
process-name in quotation marks (" ").
Qualifiers
/ADDRESS=pcb-address
Specifies the process control block (PCB) address of a process in order
to display information about the process.
/ID=nn
/INDEX=nn
Specifies the process for which information is to be displayed by its
index into the system's list of software process control blocks (PCBs),
or by its process identification. You can supply the following values
for nn:
- The process index itself.
- The process identification (PID) or extended PID longword, from
which SDA extracts the correct index. The PID or extended PID of any
thread of a process with multiple kernel threads may be specified. Any
thread-specific data displayed by further commands will be for the
given thread.
To obtain these values for any given process, issue the SDA command
SHOW SUMMARY/THREADS. The /ID=nn and /INDEX=nn
qualifiers can be used interchangeably.
/NEXT
Causes SDA to locate the next valid process in the process list and
select that process. If there are no further valid processes in the
process list, SDA returns an error.
/SYSTEM
Specifies the new current process by the system process control block
(PCB). The system PCB and process header (PHD) parallel the data
structures that describe processes. They contain the system working set
list, global section table, and other systemwide data.
Description
When you issue an SDA command such as EXAMINE, SDA displays the
contents of memory locations in its current process. To display any
information about another process, you must change the current process
with the SET PROCESS command.
When you invoke SDA to analyze a crash dump, the process context
defaults to that of the process that was current at the time of the
system failure. If the failure occurred on a multiprocessing system,
SDA sets the CPU context to that of the processor that caused the
system to fail. The process context is set to that of the process that
was current on that processor.
When you invoke SDA to analyze a running system, its process context
defaults to that of the current process, that is, the one executing SDA.
The SET PROCESS command changes the current SDA process context to that
of the process indicated by process-name,
pcb-address, or /INDEX=nn. The process specified by
this command becomes the current process for SDA until you either exit
from SDA or change SDA process context by issuing one of the following
commands:
SET PROCESS process-name
SET PROCESS/ADDRESS=pcb-address
SET PROCESS/INDEX=nn
SET PROCESS/SYSTEM
SHOW PROCESS process-name
SHOW PROCESS/ADDRESS=pcb-address
SHOW PROCESS/INDEX=nn
SHOW PROCESS/SYSTEM
When you analyze a crash dump from a multiprocessing system, changing
process context may require a switch of CPU context as well. For
instance, if you issue a SET PROCESS command for a process that is
current on another CPU, SDA automatically changes its CPU context to
that of the CPU on which that process is current. The following
commands can have this effect if process-name,
pcb-address, or index number (nn) refers to a current
process:
SET PROCESS process-name
SET PROCESS/ADDRESS=pcb-address
SET PROCESS/INDEX=nn
SHOW PROCESS process-name
SHOW PROCESS/ADDRESS=pcb-address
SHOW PROCESS/INDEX=nn
The following commands will also switch process context when analyzing
a system dump, if there was a current process on the target CPU at the
time of the crash:
SET CPU cpu-id
SHOW CPU cpu-id
SHOW CRASH
SHOW MACHINE_CHECK cpu-id
See Section 2.5 for further discussion of the way in which SDA
maintains its context information.
Example
SDA> SET PROCESS/ADDRESS=80D772C0
SDA> SHOW PROCESS
Process index: 0012 Name: ERRFMT Extended PID: 00000052
-----------------------------------------------------------
Process status: 02040001 RES,PHDRES,INTER
status2: 00000001 QUANTUM_RESCHED
PCB address 80D772CO JIB address 80556600
PHD address 80477200 Swapfile disk address 01000F01
KTB vector address 80D775AC HWPCB address 81260080
Callback vector address 00000000 Termination mailbox 0000
Master internal PID 00010004 Subprocess count 0
Creator extended PID 00000000 Creator internal PID 00000000
Previous CPU Id 00000000 Current CPU Id 00000000
Previous ASNSEQ 0000000000000001 Previous ASN 000000000000002E
Initial process priority 4 Delete pending count 0
# open files allowed left 100 Direct I/O count/limit 150/150
UIC [00001,000004] Buffered I/O count/limit 149/150
Abs time of last event 0069D34E BUFIO byte count/limit 99424/99808
ASTs remaining 247 # of threads 1
Swapped copy of LEFC0 00000000 Timer entries allowed left 63
Swapped copy of LEFC1 00000000 Active page table count 4
Global cluster 2 pointer 00000000 Process WS page count 32
Global cluster 3 pointer 00000000 Global WS page count 31
|
The SET PROCESS command switches SDA's current process context to the
process whose PCB is at address 80D772C0. The SHOW PROCESS command
shows that the process is ERRFMT, and displays information from its PCB
and job information block (JIB).
See the description of the REPEAT command for an example of the use of
the SET PROCESS/NEXT command.
SET RMS
Changes the options shown by the SHOW PROCESS/RMS command.
Format
SET RMS =(option[,...])
Parameter
option
Data structure or other information to be displayed by the SHOW
PROCESS/RMS command. Table 4-2 lists those keywords that may be
used as options.
Table 4-2 SET RMS Command Keywords for Displaying Process RMS Information
Keyword |
Meaning |
[NO]ALL[:
ifi]
1
|
All control blocks (default)
|
[NO]ASB
|
Asynchronous save block
|
[NO]BDB
|
Buffer descriptor block
|
[NO]BDBSUM
|
BDB summary page
|
[NO]BLB
|
Buffer lock block
|
[NO]BLBSUM
|
Buffer lock summary page
|
[NO]CCB
|
Channel control block
|
[NO]DRC
|
Directory cache
|
[NO]FAB
|
File access block
|
[NO]FCB
|
File control block
|
NO]FSB
|
File statistics block
|
[NO]FWA
|
File work area
|
[NO]GBD
|
Global buffer descriptor
|
[NO]GBDSUM
|
GBD summary page
|
[NO]GBH
|
Global buffer header
|
[NO]GBHSH
|
Global buffer hash table
|
[NO]GBSB
|
Global buffer synchronization block
|
[NO]IDX
|
Index descriptor
|
[NO]IFAB[:
ifi]
1
|
Internal FAB
|
[NO]IFB[:
ifi]
1
|
Internal FAB
|
[NO]IRAB
|
Internal RAB
|
[NO]IRB
|
Internal RAB
|
[NO]JFB
|
Journaling file block
|
[NO]KLTB
|
Key-less-than block
|
[NO]NAM
|
Name block
|
[NO]NWA
|
Network work area
|
[NO]PIO
|
Process-permanent I/O data structures used instead of process image
data structures
|
[NO]RAB
|
Record access block
|
[NO]RLB
|
Record lock block
|
[NO]RU
|
Recovery unit structures, including the recovery unit block (RUB),
recovery unit stream block (RUSB), and recovery unit file block (RUFB)
|
[NO]SFSB
|
Shared file synchronization block
|
[NO]WCB
|
Window control block
|
[NO]XAB
|
Extended attribute block
|
[NO]*
|
Current list of options displayed by the SHOW RMS command
|
1The optional parameter ifi is an internal
file identifier. The default ifi
(ALL) is all the files the current process has opened.
The default option is
option=(ALL,NOPIO), designating for
display by the SHOW PROCESS/RMS command all structures for all files
related to the process image I/O.
To list more than one option, enclose the list in parentheses and
separate options by commas. You can add a given data structure to those
displayed by ensuring that the list of keywords begins with the
asterisk (*) symbol. You can delete a given data structure from the
current display by preceding its keyword with NO.
Qualifiers
None.
Description
The SET RMS command determines the data structures to be displayed by
the SHOW PROCESS/RMS command. (See the examples included in the
discussion of the SHOW PROCESS command for information provided by
various displays.) You can examine the options that are currently
selected by issuing a SHOW RMS command.
Examples
#1 |
SDA> SHOW RMS
RMS Display Options: IFB,IRB,IDX,BDB,BDBSUM,ASB,CCB,WCB,FCB,FAB,RAB,NAM,XAB,RLB,
BLB,BLBSUM,GBD,GBH,FWA,GBDSUM,JFB,NWA,RU,DRC,SFSB,GBSB
Display RMS structures for all IFI values.
SDA> SET RMS=IFB
SDA> SHOW RMS
RMS Display Options: IFB
Display RMS structures for all IFI values.
|
The first SHOW RMS command shows the default selection of data
structures that are displayed in response to a SHOW PROCESS/RMS
command. The SET RMS command selects only the IFB to be displayed by
subsequent SET/PROCESS commands.
#2 |
SDA> SET RMS=(*,BLB,BLBSUM,RLB)
SDA> SHOW RMS
RMS Display Options: IFB,RLB,BLB,BLBSUM
Display RMS structures for all IFI values.
|
The SET RMS command adds the BLB, BLBSUM, and RLB to the list of data
structures currently displayed by the SHOW PROCESS/RMS command.
#3 |
SDA> SET RMS=(*,NORLB,IFB:05)
SDA> SHOW RMS
RMS Display Options: IFB,BLB,BLBSUM
Display RMS structures only for IFI=5.
|
The SET RMS command removes the RLB from those data structures
displayed by the SHOW PROCESS/RMS command and causes only information
about the file with the ifi of 5 to be displayed.
The SET RMS command indicates that the data structures designated for
display by SHOW PROCESS/RMS be associated with process-permanent I/O
instead of image I/O.
SET SIGN_EXTEND
Enables or disables the sign extension of 32-bit addresses.
Format
SET SIGN_EXTEND {ON|OFF}
Parameters
ON
Enables automatic sign extension of 32-bit addresses with bit 31 set.
This is the default.
OFF
Disables automatic sign extension of 32-bit addresses with bit 31 set.
Qualifiers
None.
Description
The 32-bit S0/S1 addresses need to be sign-extended to access 64-bit
S0/S1 space. To do this, specify explicitly sign-extended addresses, or
set the sign-extend command to ON, which is the
default.
However, to access addresses in P2 space, addresses must not be
sign-extended. To do this, specify a zero in front of the address, or
set the sign-extend command to OFF.
Examples
#1 |
SDA> SET SIGN_EXTEND ON
SDA> examine 80400000
FFFFFFFF.80400000: 23DEFF90.4A607621
|
This shows the SET SIGN_EXTEND command as ON.
#2 |
SDA> SET SIGN_EXTEND OFF
SDA> EXAMINE 80400000
%SDA-E-NOTINPHYS, 00000000.80400000: virtual data not in physical memory
|
This shows the SET SIGN_EXTEND command as OFF.
SET SYMBOLIZE
Enables or disables symbolization of addresses in the display from an
EXAMINE command.
Format
SET SYMBOLIZE {ON|OFF}
Parameters
ON
Enables symbolization of addresses.
OFF
Disables symbolization of addresses.
Qualifiers
None.
Examples
1. SDA> SET SYMBOLIZE ON
SDA> examine g1234
SYS$PUBLIC_VECTORS+01234: 47DF041C "..ßG"
|
2. SDA> SET SYMBOLIZE OFF
SDA> examine g1234
FFFFFFFF.80001234: 47DF041C "..ßG"
|
These examples show the effect of enabling (default) or disabling
symbolization of addresses.
SHOW ADDRESS
Displays the page table related information about a memory address.
Format
SHOW ADDRESS address [/PHYSICAL]
Parameter
address
The requested address.
Qualifier
/PHYSICAL
Indicates that a physical address has been given. The SHOW ADDRESS
command displays the virtual address that maps to the given physical
address.
Description
The SHOW ADDRESS command displays the region of memory that contains
the memory address. It also shows all the page table entries (PTEs)
that map the page and can show the range of addresses mapped by the
given address if it is the address of a PTE.
When the /PHYSICAL qualifier is given, the SHOW ADDRESS command
displays the virtual address that maps to the given physical address.
This provides you with a way to use SDA commands that do not have a
/PHYSICAL qualifier when only the physical address of a memory location
is known.
Examples
#1 |
SDA> SHOW ADDRESS 80000000
FFFFFFFF.80000000 is an S0/S1 address
Mapped by Level-3 PTE at: FFFFFFFD.FFE00000
Mapped by Level-2 PTE at: FFFFFFFD.FF7FF800
Mapped by Level-1 PTE at: FFFFFFFD.FF7FDFF0
Mapped by Selfmap PTE at: FFFFFFFD.FF7FDFF0
Also mapped in SPT window at: FFFFFFFF.FFDF0000
|
The SHOW ADDRESS command in this example shows where the address
80000000 is mapped at different page table entry levels.
#2 |
SDA> SHOW ADDRESS 0
00000000.00000000 is a P0 address
Mapped by Level-3 PTE at: FFFFFFFC.00000000
Mapped by Level-2 PTE at: FFFFFFFD.FF000000
Mapped by Level-1 PTE at: FFFFFFFD.FF7FC000
Mapped by Selfmap PTE at: FFFFFFFD.FF7FDFF0
|
The SHOW ADDRESS command in this example shows where the address 0 is
mapped at different page table entry levels.
#3 |
SDA> SHOW ADDRESS FFFFFFFD.FF000000
FFFFFFFD.FF000000 is the address of a process-private Level-2 PTE
Mapped by Level-1 PTE at: FFFFFFFD.FF7FC000
Mapped by Selfmap PTE at: FFFFFFFD.FF7FDFF0
Range mapped at level 2: FFFFFFFC.00000000 to FFFFFFFC.00001FFF (1 page)
Range mapped at level 3: 00000000.00000000 to 00000000.007FFFFF (1024 pages)
|
The SHOW ADDRESS command in this example shows where the address
FFFFFFFD.FF7FC000 is mapped at page table entry and the range mapped by
the PTE at this address.
#4 |
SDA> SHOW ADDRESS/PHYSICAL 0
Physical address 00000000.00000000 is mapped to system-space address FFFFFFFF.828FC000
|
The SHOW ADDRESS command in this example shows physical address
00000000.00000000 mapped to system-space address FFFFFFFF.828FC000.
#5 |
SDA> SHOW ADDRESS/PHYSICAL 029A6000
Physical address 00000000.029A6000 is mapped to process-space address 00000000.00030000
(process index 0024)
|
The SHOW ADDRESS command in this example shows physical address
00000000.029A6000 mapped to process-space address 00000000.00030000
(process index 0024).
|