 |
HP OpenVMS System Analysis Tools Manual
SHOW SWIS
This command is for I64 only. Displays the SWIS (SoftWare Interrupt
Services) data structure, which includes a ring buffer.
Format
SHOW SWIS [/RING_BUFFER [/CPU=n ]]
Qualifiers
/CPU=n
When used with /RING_BUFFER, displays only the entries for the
specified CPU.
/RING_BUFFER
Displays the SWIS log or ring buffer.
Description
The SHOW SWIS command without the /RING_BUFFER qualifier displays the
addresses of the SWIS data structure for each CPU. SHOW
SWIS/RING_BUFFER displays the SWIS ring buffer (also known as the SWIS
log), most recent entry first, and assigns meaning to some values, for
example, trap type, system service invoked. For best results, use
READ/EXEC or READ/IMAGE SYS$PUBLIC_VECTORS first so that the system
service codes are recognized. If you specify /CPU=n, only the
records for that CPU are displayed.
Example
|
SDA> read/exec
SDA> read/exec/nolog
SDA> define ssentry 8692B8F0
SDA> define intstk 8692B9F0
SDA> show swis/ring_buffer
SWIS ring buffer for all CPUs
-----------------------------
8192. entries: Most recent first
Clock Data 1 Data 2 Data 3 CPU Ident *** See below. ***
-------- -------- -------- ----------------- --- --------
2CEDAD3C 82D66400a 83814080 FFFFFFFF.86B04000 00 SWPCXout
2CEDA929 82D66400a 83814080 FFFFF802.0EE370A8 00 SWPCTXin
2CED9F16 0000001F 0000001F FFFFFFFF.8046C270a 00 RaisIPL
2CED928F 8692B8F0a 00000000 FFFFFFFF.8046B760b 00 SSSwRet
2CED8FED 8692B8E0 00000000 0000002C.DC0351F2 00 RetKSrvc
2CED8B2E 8692B8F0a 06900660b FFFFFFFF.8046B760c 00 EntKSrvc
EntKSrvc
2CED72C1 8692B9F0a 00000000 FFFFFFFF.8692BFC0b 00 ExcpDsp2
2CED70B4 8692B9F0a 00000041b FFFFFFFF.80322F50c 00 ExcpDisp
ExcpDisp
2CED6E84 00000001 00000000 00000000.0001001Fa 00 GetDpth
2CED6822 00000016 0000001F FFFFFFFF.80322EB0a 00 RSetIPL
2CED62F0 8692BCF0a 00000003 FFFFFFFF.8066C000b 00 IPDisp
Symbolized value 'a' Symbolized value 'b' & 'c'
--------------------------- -----------------------------------
BUG$GQ_HWPCB
BUG$GQ_HWPCB
EXE$BUGCHECK_SWAPPED_C+000E0
SSENTRY EXE$BUGCHECK_CONTINUE_C+003C0
SSENTRY SYS$RPCC_64_C
EXE$BUGCHECK_CONTINUE_C+003C0
INTSTK INTSTK+005D
INTSTK Bugcheck Breakpoint Trap
SYSTEM_SYNCHRONIZATION_MIN+42F50
LNM$C_DEL_OVERLAY+0001B
SYSTEM_SYNCHRONIZATION_MIN+42EB0
INTSTK+00300 SCH$IDLE_C+00290
.
.
.
|
The SHOW SWIS example displays the most recent entries in the SWIS log
at the time of a system crash. Note the a, b, c alongside the
data values. These indicate which column contains the symbolization for
the value. 'a' is always in the first column; 'b' is in the second
column, and 'c' is also in the second column on the next line. If some
or all data values cannot be symbolized, the columns are left blank or
there is no continuation line.
SHOW SYMBOL
Displays the hexadecimal value of a symbol and, if the value is equal
to an address location, the contents of that location.
Format
SHOW SYMBOL [/ALL [/ALPHA|/VALUE]] symbol-name
Parameter
symbol-name
Name of the symbol to be displayed. You must provide a
symbol-name unless you specify the /ALL qualifier.
Qualifiers
/ALL
Displays information on all symbols whose names begin with the
characters specified in symbol-name. If no symbol name
is given, all symbols are displayed.
/ALPHA
When used with the /ALL qualifier, displays the symbols sorted only in
alphabetical order. The default is to display the symbols twice, sorted
alphabetically and then by value.
When used with a wildcard symbol name, displays the symbols in
alphabetical order. This is the default action.
/VALUE
When used with the /ALL qualifier, displays the symbols sorted only in
value order. The default is to display the symbols twice, sorted
alphabetically and then by value.
When used with a wildcard symbol name, displays the symbols in value
order.
Description
The SHOW SYMBOL command with the /ALL qualifier outputs all symbols
whose names begin with the characters specified in
symbol-name in both alphabetical order and in value
order. If no symbol-name is given, all symbols are
output.
The SHOW SYMBOL/ALL command is useful for determining the values of
symbols that belong to a symbol set, as illustrated in the second
example below.
The SHOW SYMBOL command without the /ALL qualifier allows for standard
wildcards in the symbol-name parameter. By default,
matching symbols are displayed only in alphabetical order. If you
specify SHOW SYMBOL/VALUE, then matching symbols are output sorted by
value. If you specify SHOW SYMBOL/ALPHA/VALUE, then matching symbols
are displayed twice, sorted alphabetically and then by value.
The SHOW SYMBOL command without the /ALL qualifier and no wildcards in
the symbol-name parameter outputs the value associated
with the given symbol.
When displaying any symbol value, SDA also treats the value as an
address and attempts to obtain the contents of the location. If
successful, the contents are also displayed.
Examples
#1 |
SDA> SHOW SYMBOL G
G = FFFFFFFF.80000000 : 6BFA8001.201F0104
|
The SHOW SYMBOL command evaluates the symbol G as
FFFFFFFF.8000000016 and displays the contents of address
FFFFFFFF.8000000016 as 6BFA8001.201F010416.
#2 |
SDA> SHOW SYMBOL/ALL BUG
Symbols sorted by name
----------------------
BUG$L_BUGCHK_FLAGS = FFFFFFFF.804031E8 : 00000000.00000001
BUG$L_FATAL_SPSAV = FFFFFFFF.804031F0 : 00000000.00000001
BUG$REBOOT = FFFFFFFF.8042E320 : 00000000.00001808
BUG$REBOOT_C = FFFFFFFF.8004F4D0 : 47FB041D.47FD0600
.
.
.
Symbols sorted by value
----------------------
BUG$REBOOT_C = FFFFFFFF.8004F4D0 :47FB041D.47FD0600
BUG$L_BUGCHK_FLAGS = FFFFFFFF.804031E8 :00000000.00000001
BUG$L_FATAL_SPSAV = FFFFFFFF.804031F0 :00000000.00000001
BUG$REBOOT = FFFFFFFF.8042E320 :00000000.00001808
.
.
.
|
This example shows the display produced by the SHOW SYMBOL/ALL command.
SDA searches its symbol table for all symbols that begin with the
string "BUG" and displays the symbols and their values.
Although certain values equate to memory addresses, it is doubtful that
the contents of those addresses are actually relevant to the symbol
definitions in this instance.
SHOW TQE
Displays the entries in the timer queue. The default output is a
summary display of all timer queue entries (TQEs) in chronological
order.
Format
SHOW TQE [/ADDRESS=n][/ALL][/BACKLINK][/PID=n]
[/ROUTINE=n]
Parameters
None.
Qualifiers
/ADDRESS=n
Outputs a detailed display of the TQE at the specified address.
/ALL
Outputs a detailed display of all TQEs.
/BACKLINK
Outputs the display of TQEs, either detailed (/ALL) or brief (default),
in reverse order, starting at the entry furthest into the future.
/PID=n
Limits the display to the TQEs that affect the process with the
specified internal PID. The PID format required is the entire
internal PID, including both the process index and the sequence number,
and not the extended PID or process index alone, as used elsewhere in
SDA. You can also display TQEs specific to a process using SHOW
PROCESS/TQE.
/ROUTINE=n
Limits the display to the TQEs for which the specified address is the
fork PC.
Description
The SHOW TQE command allows the timer queue to be displayed. By default
a summary display of all TQEs is output in chronological order,
beginning with the next entry to become current.
The /ADDRESS, /PID, and /ROUTINE qualifiers are mutually exclusive. The
/ADDRESS and /BACKLINK qualifiers are mutually exclusive.
In the summary display, the TQE type is given as a six-character code,
as in Table 4-31.
Table 4-31 TQE Types in Summary TQE Display
Column |
Symbol |
Meaning |
1
|
T
|
Timer ($SETIMR) entry
|
|
S
|
System subroutine entry
|
|
W
|
Scheduled wakeup ($SCHDWK) entry
|
2
|
S
|
Single-shot entry
|
|
R
|
Repeated entry
|
3
|
D
|
Delta time
|
|
A
|
Absolute time
|
4
|
C
|
CPU time
|
|
--
|
Elapsed time
|
5
|
E
|
Extended format (64-bit TQE)
|
|
--
|
32-bit TQE
|
6
|
N
|
TQE not to be deallocated at AST completion
|
|
--
|
TQE to be deallocated at AST completion
|
Examples
1. SDA> SHOW TQE
Timer queue entries
-------------------
System time: 15-NOV-2001 15:09:06.92
First TQE time: 15-NOV-2001 15:09:06.92
TQE PID/
address Expiration Time Type routine
-------- ----------------------------------------- ------ --------
815AB8C0 00A0516F.EF279B0F 15-NOV-2001 15:09:06.92 SSD--- 835FCC48 TCPIP$INTERNET_SERVICES+9EC48
812CB3C0 00A0516F.EF279B0F 15-NOV-2001 15:09:06.92 SRD--- 812CCEC8 SYS$PPPDRIVER+0EEC8
81514140 00A0516F.EF29FD5F 15-NOV-2001 15:09:06.94 TSD--- 0001000F SECUURITY_SERVER
815C8040 00A0516F.EF2B2E87 15-NOV-2001 15:09:06.95 SRD--- 81361BA0 SYS$LTDRIVER+31BA0
8148CF98 00A0516F.EF2C52AD 15-NOV-2001 15:09:06.95 SRD--- 812786B0 LAN$CREATE_LAN+000B0
81318290 00A0516F.EF2FDC84 15-NOV-2001 15:09:06.98 SRD--- 813187B8 PWIPDRIVER+047B8
814FB080 00A0516F.EF3238D0 15-NOV-2001 15:09:06.99 TSD--- 0001000F SECURITY_SERVER
8140FF40 00A0516F.EF32851A 15-NOV-2001 15:09:06.99 TSD--- 0001000F SECURITY_SERVER
...
81503100 00A05177.0AED8000 15-NOV-2001 16:00:00.00 TSA--- 0001000C JOB_CONTROL
815030C0 00A0C160.63CD14D9 7-APR-2002 02:00:00.91 TSA--- 0001000C JOB_CONTROL
|
This example shows the summary display of all TQEs.
2. SDA> SHOW TQE/ADDRESS=8131F5C0
Timer queue entry 8131F5C0
--------------------------
TQE Address: 8131F5C0 Type: 00000005 SYSTEM_SUBROUTINE REPEAT
FLink: 8129C6D8 BLink: 83975948
Requestor process ID: 00000000 Access Mode: 00000000
Expiration time: 009EADD2.417463F4 30-MAY-2000 15:14:47.31 +67860
Delta repeat time: 00000000.00989680 0 00:00:01.00
Fork PC: 811FDCD0 NETDRIVER+190D0
Fork R3: 00000000.00000000
Fork R4: FFFFFFFF.8131DB00
|
This example shows the detailed display for a single TQE.
SHOW TQEIDX
Displays the contents of the timer queue entry index (TQEIDX)
structures.
Format
SHOW TQEIDX [/ADDRESS=address|/ALL ]
Parameter
None.
Qualifiers
/ADDRESS=address
Causes SDA to output a detailed display of the contents of the TQEIDX
at the specified address.
/ALL
Causes SDA to output a detailed display of the contents of all TQEIDX
structures.
Description
The SHOW TQEIDX comand allows the timer queue entry index structures to
be displayed. The default display is a summary of all TQEIDX
structures. The /ADDRESS and /ALL qualifiers are mutually exclusive.
Examples
1. SDA> show tqeidx
Timer queue index buckets
-------------------------
Time index buckets
------------------
TQEIDX Free
address Level Parent count Maximum key
-------- -------- -------- -------- -----------------
872B6700 00000001 00000000 0000003C FFFFFFFF.FFFFFFFF
875ED640 00000000 872B6700 00000005 00A39404.827C01CF
87312E80 00000000 872B6700 00000032 00A39A11.9DABF957
8726A300 00000000 872B6700 0000003D FFFFFFFF.FFFFFFFF
Time index overflow list is empty
ID index buckets
----------------
TQEIDX Free
address Level Parent count Maximum key
-------- -------- -------- -------- -----------------
872AF900 00000001 00000000 0000003D FFFFFFFF.FFFFFFFF
86C29C80 00000000 872AF900 00000016 0002C000.83374030
872FD780 00000000 872AF900 0000001F FFFFFFFF.FFFFFFFF
ID index overflow list is empty
|
This example shows the summary TQEIDX display.
SHOW UNWIND
This command is for I64 only. Displays the master unwind table for
system space (default).
Format
SHOW UNWIND [address|[/ALL ]]
Parameter
address
Address of the PC whose unwind data is to be displayed.
Qualifier
/ALL
Displays the details of every system unwind descriptor.
Description
Displays the master unwind table for system space. This is the default.
If /ALL is given, the details of every system unwind desriptor are
displayed. If an address is given, the unwind descriptor for the
program counter (PC) (IIP) is located and displayed. The address can be
in system space or process space.
Also see SHOW PROCESS/UNWIND.
Examples
1. SDA> show unwind
System Unwind Table
-------------------
Page Header VA Entries Region ID
----------------- ----------------- -----------------
FFFFFFFF.7FFFC000 00000000.00000018 00000000.00000000
FFFFFFFF.7FFFA000 00000000.00000018 00000000.00000000
FFFFFFFF.7FFF8000 00000000.00000018 00000000.00000000
FFFFFFFF.7FF44000 00000000.00000018 00000000.00000000
FFFFFFFF.7F7A0000 00000000.00000018 00000000.00000000
FFFFFFFF.7F56C000 00000000.00000006 00000000.00000000
Image name Code Base VA UT Base VA Unwind Info Base Flags
MUTE VA Mode Code End VA UT Size GP
------------------------------------- ----------------- ----------------- ----------------- ----------
EXCEPTION_MON FFFFFFFF.80480000 FFFFFFFF.82D53800 FFFFFFFF.82D53800
FFFFFFFF.7FFFC020 00000000 FFFFFFFF.8055CDCF 00000000.00002AD8 FFFFFFFF.82F6F400
EXCEPTION_MON FFFFFFFF.86AB0000 FFFFFFFF.86AB4000 FFFFFFFF.86AB4000 Obsolete
FFFFFFFF.7FFFC170 00000000 FFFFFFFF.86AB207F 00000000.00000060 FFFFFFFF.82F6F400
IO_ROUTINES_MON FFFFFFFF.80560000 FFFFFFFF.82D78600 FFFFFFFF.82D78600
FFFFFFFF.7FFFC2C0 00000000 FFFFFFFF.8064A7AF 00000000.00004B00 FFFFFFFF.82FA2800
IO_ROUTINES_MON FFFFFFFF.86AB6000 FFFFFFFF.86AB8000 FFFFFFFF.86AB8000 Obsolete
FFFFFFFF.7FFFC410 00000000 FFFFFFFF.86AB73AF 00000000.000000A8 FFFFFFFF.82FA2800
SYSDEVICE FFFFFFFF.80650000 FFFFFFFF.82DA7A00 FFFFFFFF.82DA7A00
FFFFFFFF.7FFFC560 00000000 FFFFFFFF.8065E90F 00000000.00000240 FFFFFFFF.82FA9400
|
This example shows the master unwind table for the system, the pages
that are being read and the images whose unwind data is present.
2. SDA> show unwind 00000000.00020130
Unwind Table Entry for 00000000.00020130
---------------------------------------
Image name: X
MUTE VA: 000007FD.BFFC62C0 Mode: 00000001
Code Base VA: 00000000.00020000 Code End VA: 00000000.000201FF
UT Base VA: 00000000.00030000 UT Size: 00000000.00000030
Unwind Info Base: 00000000.00030000 GP: 00000000.00240000
Flags: 0000
Unwind Descriptor: 00000000.00030090 PC range = 00000000.00020130:00000000.000201DF
Unwind Descriptor flags: No handler present, No OSSD present
Unwind descriptor records: R1 Region Header: Short Prologue, PC range = 00000000.00020130:00000000.00020131
P7: MEM_STACK_V PC=00000000.00020131
P3: PSP_GR R41
P3: PFS_GR R40
R1 Region Header: Short Body, PC range = 00000000.00020132:00000000.000201B0
B1: Short Label_State LABEL=00000001
B2: Short Epilogue ECOUNT=00000000 PC=00000000.000201A0
R1 Region Header: Short Body, PC range = 00000000.000201B1:00000000.000201D1
B1: Short Copy_State LABEL=00000001
|
This example shows the unwind data for PC 20130, giving image name,
location of unwind data and all unwind descriptors. For an explanation
of the unwind descriptors, see the HP OpenVMS Calling Standard, Appendices A and B.
SHOW WORKING_SET_LIST
Displays the system working set list without changing the current
process context.
Format
SHOW WORKING_SET_LIST or SHOW WSL [={GPT|SYSTEM|LOCKED|n }]
Format
SHOW WSL [={GPT|SYSTEM|LOCKED|n }]
Parameters
None.
Qualifiers
None.
Description
The SHOW WORKING_SET_LIST command displays the contents of requested
entries in the system working set list. If you do not specify an
option, all working set list entries are displayed. Table 4-32 shows
the options available with SHOW WORKING_SET_LIST. The SHOW
WORKING_SET_LIST command is equivalent to the SHOW
PROCESS/SYSTEM/WORKING_SET_LIST command, but the SDA current process
context returns to the prior process upon completion. See the SHOW
PROCESS command and Table 4-20 for more information.
Table 4-32 Options for the SHOW WORKING_SET_LIST Command
Options |
Results |
GPT
|
Displays only working set list entries for global page table pages
|
SYSTEM
|
Displays only working set list entries for pageable system pages
|
LOCKED
|
Displays only working set list entries for pageable system pages that
are locked in the system working set
|
n
|
Displays a specific working set entry, where
n is the working set list index (WSLX) of the entry of interest
|
SHOW WSL
See SHOW WORKING_SET_LIST.
SPAWN
Creates a subprocess of the process currently running SDA, copying the
context of the current process to the subprocess and, optionally,
executing a specified command within the subprocess.
Format
SPAWN [/qualifier[,...]] [command]
Parameter
command
Name of the command that you want the subprocess to execute.
Qualifiers
/INPUT=filespec
Specifies an input file containing one or more command strings to be
executed by the spawned subprocess. If you specify a command string
with an input file, the command string is processed before the commands
in the input file. When processing is complete, the subprocess is
terminated.
/NOLOGICAL_NAMES
Specifies that the logical names of the parent process are not to be
copied to the subprocess. The default behavior is that the logical
names of the parent process are copied to the subprocess.
/NOSYMBOLS
Specifies that the DCL global and local symbols of the parent process
are not to be passed to the subprocess. The default behavior is that
these symbols are passed to the subprocess.
/NOTIFY
Specifies that a message is to be broadcast to SYS$OUTPUT when the
subprocess either completes processing or aborts. The default behavior
is that such a message is not sent to SYS$OUTPUT.
/NOWAIT
Specifies that the system is not to wait until the subprocess is
completed before allowing more commands to be entered. This qualifier
allows you to input new SDA commands while the spawned subprocess is
running. If you specify /NOWAIT, use /OUTPUT to direct the output of
the subprocess to a file to prevent more than one process from
simultaneously using your terminal.
The default behavior is that the system waits until the subprocess is
completed before allowing more SDA commands to be entered.
/OUTPUT=filespec
Specifies an output file to which the results of the SPAWN operation
are written. To prevent output from the spawned subprocess from being
displayed while you are specifying new commands, specify an output
other than SYS$OUTPUT whenever you specify /NOWAIT. If you omit the
/OUTPUT qualifier, output is written to the current SYS$OUTPUT device.
/PROCESS=process-name
Specifies the name of the subprocess to be created. The default name of
the subprocess is USERNAME_n, where USERNAME is the
user name of the parent process. The variable n represents the
subprocess number.
Example
|
SDA> SPAWN
$ MAIL
.
.
.
$ DIR
.
.
.
$ LO
Process SYSTEM_1 logged out at 5-JAN-1993 15:42:23.59
SDA>
|
This example uses the SPAWN command to create a subprocess that issues
DCL commands to invoke the Mail utility. The subprocess then lists the
contents of a directory before logging out to return to the parent
process executing SDA.
|