 |
HP OpenVMS System Analysis Tools Manual
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. If the virtual address is
in physical memory, the corresponding physical address is displayed.
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.FF7FDFF8
Mapped by Selfmap PTE at: FFFFFFFD.FF7FDFF0
Also mapped in SPT window at: FFFFFFFF.FFDF0000
Mapped to physical address 00000000.00400000
|
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
Not mapped to a physical address
|
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)
Mapped to physical address 00000000.01230000
|
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).
SHOW BUGCHECK
Displays the value, name, and text associated with one or all bugcheck
codes.
Format
SHOW BUGCHECK {/ALL (d)|name|number}
Parameters
name
The name of the requested bugcheck code.
number
The value of the requested bugcheck code. The severity bits in the
value are ignored.
The parameters name and number and
the qualifier /ALL are all mutually exclusive.
Qualifier
/ALL
Displays complete list of all the bugcheck codes, giving their value,
name, and text. It is the default.
Description
The SHOW BUGCHECK command displays the value, name, and text associated
with bugcheck codes.
Examples
#1 |
SDA> SHOW BUGCHECK 104
0100 DIRENTRY ACP failed to find same directory entry
|
The SHOW BUGCHECK command in this example shows the requested bugcheck
by number, ignoring the severity (FATAL).
#2 |
SDA> SHOW BUGCHECK DECNET
08D0 DECNET DECnet detected a fatal error
|
The SHOW BUGCHECK command in this example shows the requested bugcheck
by name.
#3 |
SDA> SHOW BUGCHECK
BUGCHECK codes and texts
------------------------
0008 ACPMBFAIL ACP failure to read mailbox
0010 ACPVAFAIL ACP failure to return virtual address space
0018 ALCPHD Allocate process header error
0020 ALCSMBCLR ACP tried to allocate space already allocated
.
.
.
|
The SHOW BUGCHECK command in this example shows the requested bugcheck
by displaying all codes.
SHOW CALL_FRAME
Displays the locations and contents of the quadwords representing a
procedure call frame.
Format
SHOW CALL_FRAME {[starting-address]|/EXCEPTION_FRAME=intstk_address
|/NEXT_FRAME|/SUMMARY |/ALL}
Parameter
starting-address
For Alpha, an expression representing the starting address of the
procedure call frame to be displayed. The default
starting-address is the contents of the FP (frame)
register of the SDA current process.
For I64, the address is the invocation context handle of the frame, and
the default is the handle of the current procedure.
Qualifiers
/ALL
Displays details of all call frames beginning at the current frame and
continuing until bottom of stack (equivalent to SHOW CALL and repeated
execution of a SHOW CALL/NEXT command).
/EXCEPTION_FRAME=intstk_address
(I64 only.) Provides an alternate starting address for SHOW CALL_FRAME.
intstk_address is the address of an exception frame from which
SDA creates an initial invocation context and displays the procedure
call frame.
/NEXT_FRAME
Displays the procedure call frame starting at the address stored in the
frame longword of the last call frame displayed by this command. You
must have issued a SHOW CALL_FRAME command previously in the current
SDA session in order to use the /NEXT_FRAME qualifier to the command.
/SUMMARY
Provides a one-line summary for each call frame, including exception
frames, system-service entry frames, ASTs, KPBs, and so on, until
reaching the bottom of the stack.
Description
Whenever a procedure is called, information is stored on the stack of
the calling routine in the form of a procedure call frame. The SHOW
CALL_FRAME command displays the locations and contents of the call
frame. The starting address of the call frame is determined from the
specified starting address, the /NEXT_FRAME qualifier, or the address
contained in the SDA current process frame register (the default
action).
When using the SHOW CALL_FRAME/NEXT_FRAME command to follow a chain of
call frames, SDA signals the end of the chain by the following message:
Cannot display further call frames (bottom of stack)
|
This message indicates that the saved frame in the previous call frame
has a zero value (Alpha) or that the current frame is marked Bottom of
Stack (I64).
Examples
#1 |
SDA> SHOW CALL_FRAME
Call Frame Information
----------------------
Stack Frame Procedure Descriptor
Flags: Base Register = FP, No Jacket, Native
Procedure Entry: FFFFFFFF.837E9F10 EXCEPTION_PRO+01F10
Return address on stack = FFFFFFFF.837E8A1C EXE$CONTSIGNAL_C+0019C
Registers saved on stack
------------------------
7FF95F98 FFFFFFFF.FFFFFFFB Saved R2
7FF95FA0 FFFFFFFF.8042AEA0 Saved R3 EXCEPTION_NPRW+040A0
7FF95FA8 00000000.00000002 Saved R5
7FF95FB0 FFFFFFFF.804344A0 Saved R13 SCH$CLREF+00188
7FF95FB8 00000000.7FF9FC00 Saved R29
.
.
.
SDA> SHOW CALL_FRAME/NEXT_FRAME
Call Frame Information
----------------------
Stack Frame Procedure Descriptor
Flags: Base Register = FP, No Jacket, Native
Procedure Entry: FFFFFFFF.800FA388 RMS_NPRO+04388
Return address on stack = FFFFFFFF.80040BFC EXCEPTION_NPRO+00BFC
Registers saved on stack
------------------------
7FF99F60 FFFFFFFF.FFFFFFFD Saved R2
7FF99F68 FFFFFFFF.80425BA0 Saved R3 EXCEPTION_NPRW+03DA0
7FF99F70 FFFFFFFF.80422020 Saved R4 EXCEPTION_NPRW+00220
7FF99F78 00000000.00000000 Saved R5
7FF99F80 FFFFFFFF.835C24A8 Saved R6 RMS_PRO+004A8
7FF99F88 00000000.7FF99FC0 Saved R7
7FF99F90 00000000.7FF9FDE8 Saved R8
7FF99F98 00000000.7FF9FDF0 Saved R9
7FF99FA0 00000000.7FF9FE78 Saved R10
7FF99FA8 00000000.7FF9FEBC Saved R11
7FF99FB0 FFFFFFFF.837626E0 Saved R13 EXE$OPEN_MESSAGE+00088
7FF99FB8 00000000.7FF9FD70 Saved R29
.
.
.
SDA> SHOW CALL_FRAME/NEXT_FRAME
Call Frame Information
----------------------
Stack Frame Procedure Descriptor
Flags: Base Register = FP, No Jacket, Native
Procedure Entry: FFFFFFFF.835C2438 RMS_PRO+00438
Return address on stack = FFFFFFFF.83766020 EXE$OPEN_MESSAGE_C+00740
Registers saved on stack
------------------------
7FF9FD88 00000000.7FF9FDA4 Saved R2
7FF9FD90 00000000.7FF9FF00 Saved R3
7FF9FD98 00000000.7FFA0050 Saved R29
|
The SHOW CALL_FRAME commands in this SDA session follow a chain of call
frames from that specified in the frame of the SDA current process.
#2 |
SDA> SHOW CALL/SUMMARY
Call Frame Summary
------------------
Frame Type Handle Current PC
-------------------- ----------------- -----------------
Exception Dispatcher 00000000.7FF43EB0 FFFFFFFF.8049E160 EXCEPTION_MON+5E360
Register Stack Frame 00000000.7FF12180 00000000.000122C0 KP_SAMPLE+122C0
Memory Stack Frame 00000000.7FF43ED0 FFFFFFFF.8066B440 EXE$CMKRNL_C+00330
Memory Stack Frame 00000000.7FF43F20 FFFFFFFF.80194890 EXE$SS_DISP_C+00400
SS Dispatcher 00000000.3FFFDFC0 FFFFFFFF.8018D240 SWIS$ENTER_KERNEL_SERVICE_C+003E0
Register Stack Frame 000007FD.BFF58000 00000000.000124C0 KP_SAMPLE+124C0
KP Start Frame 00000000.7AC95A20 FFFFFFFF.80161670 EXE$KP_START_C+003C0
Memory Stack Frame 00000000.7AC95B50 00000000.00012CE0 KP_SAMPLE+12CE0
Memory Stack Frame 00000000.7AC95BC0 00000000.000126F0 KP_SAMPLE+126F0
Base Frame 00000000.7AC95BE0 00000000.7ADE0BB0 DCL+82BB0
Bottom of stack
|
This example of SHOW CALL/SUMMARY on an I64 system shows the call frame
summary of a process that has triggered an exception. The exception
occurred while running a program called KP_SAMPLE which has invoked the
$CMKRNL system service.
|