Previous | Contents | Index |
Displays the master unwind table for system space (by default) or for a specified target.
SHOW UNWIND [address | /ALL | /IMAGE=name ]
address
Address of the program counter (PC) (IIP) whose unwind data is to be displayed. The address can be in system space or process space.
/ALL
Displays the details of every system unwind descriptor./IMAGE
Displays the details of every unwind descriptor for the specified system images (wildcards allowed).
Displays the master unwind table for system space. This is the default. If /ALL is given, the details of every system unwind descriptor 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.
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.82FA9400This 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=00000001This 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 appendixes in the HP OpenVMS Calling Standard.
Displays data from the Virtual Hash Page Table.
SHOW VHPT [ /CPU = {n|*} [/ALL] [range] ]
range
The entry or range of entries to be displayed, expressed using the following syntax:
m Displays the VHPT entry m m:n Displays the VHPT entries from m to n m;n Displays n VHPT entries starting at m A range can be provided only if a single CPU is specified with the /CPU qualifier.
/CPU = {n|*}
Indicates that the detailed contents of the VHPT for one or all CPUs is to be displayed. The default action is for a summary of VHPT information to be displayed./ALL
Displays all VHPTs for the specified CPUs. Without /ALL, only entries that have a valid tag are displayed.
Displays contents of the Virtual Hash Page Table on an OpenVMS Integrity server system. By default, a summary of the VHPT entries is displayed. If CPUs are specified, details of individual VHPT entries are displayed for the CPUs. If a single CPU is specified, specific VHPT entries for that CPU are displayed.In the detailed display, the columns are as follows:
Table 4-33 VHPT Fields Column Contents Entry VHPT Entry Number Bits One or more of the following flags: P---Present
A---Accessed
D---Dirty
E---Exception deferral
I---Tag invalid (only seen if /ALL is specified)MA One of the following memory attributes: WB---Write Back
UC---Uncacheable
UCE---Uncacheable Exported
WC---Write Coalescing
NaT---NaTPageAR/PL The access rights and privilege level of the page. Consists of a number (0-7) and a letter (K, E, S, or U) that determines access to the page in each mode. KESU The access allowed to the page in each mode. This is an interpretation of the AR/PL values in the previous column. For an explanation of the access codes, refer to Section 2.8. Physical address The starting physical address for this VHPT entry. Page size The size of the page represented by this VHPT entry. Page sizes for VHPT entries range from 4KB to 4GB. Not all possible pages sizes are used by OpenVMS for Integrity servers. Tag The translation tag for the VHPT entry. Quad4 Information recorded by OpenVMS for Integrity servers for debugging purposes. The contents of this quadword are subject to change.
#1 |
---|
SDA> SHOW VHPT Virtual Hash Page Table Summary ------------------------------- CPU 0000 -------- VHPT address: FFFFFFFF.7FFF0000 Translation registers: 00000002 VHPT page size: 0000000E CPU 0001 -------- VHPT address: FFFFFFFF.7FF88000 Translation registers: 00000002 VHPT page size: 0000000E |
This example shows the default behavior of the SHOW VHPT command.
#2 |
---|
SDA> SHOW VHPT /CPU=0 Virtual Hash Page Table for CPU 0000 ------------------------------------ VHPT address: FFFFFFFF.7FFF0000 Translation registers: 00000002 VHPT page size: 0000000E Page Entry Bits MA AR/PL KESU Physical Address Size Tag Quad4 -------- ---- -- ----- ---- ----------------- ---- ----------------- ----------------- 00000000 PADE WB 4 E wr-- 00000000.09806000 4MB 0000FE7F.FFFC2C03 FF000003.85806004 00000001 PADE WB 4 E wr-- 00000000.09804000 4MB 0000FE7F.FFFC2C02 FF000003.85805184 00000002 PADE WB 4 E wr-- 00000000.09802000 4MB 0000FE7F.FFFC2C01 FF000003.85803184 00000003 PADE WB 4 E wr-- 00000000.09800000 4MB 0000FE7F.FFFC2C00 FF000003.858008C4 00000004 PADE WB 2 K w--- 00000000.03726000 8KB 0000FE7F.FFFA0007 FF000003.4000FAB8 00000005 PADE WB 2 K w--- 00000000.03724000 8KB 0000FE7F.FFFA0006 FF000003.4000C478 00000006 PADE WB 2 K w--- 00000000.03722000 8KB 0000FE7F.FFFA0005 FF000003.4000A988 00000007 PADE WB 2 K w--- 00000000.071DA000 8KB 0000FE7F.FFFA1804 FF000003.43008000 00000008 PADE WB 2 K w--- 00000000.0372E000 8KB 0000FE7F.FFFA000B FF000003.40017C30 00000009 PADE WB 4 E wr-- 00000000.03356000 8KB 0000FE7F.FFFBFC0A FF000003.7F814CCC 0000000E PADE WB 3 U WWWW 00000000.10E78000 8KB 7FFD7C80.000002F7 00FFFAF9.005EE004 00000012 PADE WB 4 E wr-- 00000000.03348000 8KB 0000FE7F.FFFBFC11 FF000003.7F823B28 ... 000003FD PADE WB 5 U WRRR 00000000.00004000 8KB 0000FE7F.FFFBFFFE FF000003.7FFFC020 000003FE PADE WB 5 U WRRR 00000000.00078000 8KB 0000FE7F.FFFBFFFD FF000003.7FFFA020 000003FF PADE WB 2 K w--- 00000000.0717C000 8KB 0000FE7F.FFFA17FC FF000003.42FF8000 |
This example shows the detailed contents of all the VHPT entries for CPU 0 that have a valid tag.
Displays the system working set list without changing the current process context. You can specify SHOW WORKING_SET_LIST or SHOW WSL. The two commands are equivalent.
SHOW WORKING_SET_LIST [/ALL (d) | /ENTRY=n | /GPT
| /LOCKED | /MODIFIED | /SYSTEM]SHOW WSL [/ALL (d) | /ENTRY=n | /GPT
| /LOCKED | /MODIFIED | /SYSTEM]
None.
/ALL
Displays all working set list entries. This is the default./ENTRY=n
Displays a specific working set entry, where n is the working set list index (WSLX) of the entry of interest./GPT
Displays working set list entries only for global page table pages./LOCKED
Displays working set list entries only for pageable system pages that are locked in the system working set./MODIFIED
Displays working set list entries only for pageable system pages that are marked modified./SYSTEM
Displays working set list entries only for pageable system pages.
The SHOW WORKING_SET_LIST command displays the contents of requested entries in the system 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-21 for more information.
See SHOW WORKING_SET_LIST.
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.
SPAWN [/qualifier[,...]] [command]
command
Name of the command that you want the subprocess to execute.
/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.
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.
Removes the specified symbol from SDA's symbol table.
UNDEFINE symbol
symbol
The name of the symbol to be deleted from SDA's symbol table. A symbol name is required. Symbols that include lowercase letters must be enclosed in quotation marks.
None.
Validates that the page counts on lists are correct.
VALIDATE PFN_LIST {/ALL (d) | [/BAD | /FREE | /MODIFIED | /PRIVATE | /UNTESTED | /ZERO]}
None.
/ALL
Validates all the PFN lists: bad, free, modified, untested, zeroed free pages, and private pages./BAD
Validates the bad page list./FREE
Validates the free page list./MODIFIED
Validates the modified page list./PRIVATE
Validates all private page lists./UNTESTED
Validates the untested page list that was set up for deferred memory testing./ZERO
Validates the zeroed free page list.
The VALIDATE PFN_LIST command validates the specified PFN list by counting the number of entries in the list and comparing that to the running count of entries for each list maintained by the system.
#1 |
---|
SDA> VALIDATE PFN_LIST Free page list validated: 1433 pages (excluding zeroed free page list with expected size 103 pages) Zeroed free page list validated: 103 pages Modified page list validated: 55 pages Bad page list validated: 0 pages Untested page list validated: 0 pages Private page list at 81486340 validated: 2 pages |
This example shows the default behavior of VALIDATE PFN_LIST, checking all lists.
#2 |
---|
SDA> VALIDATE PFN_LIST/FREE Free page list validated: 1433 pages (excluding zeroed free page list with expected size 103 pages) |
This example shows the validation of only the free list.
Checks all free pool packets for POOLCHECK-style corruption, using the same algorithm as the system pool allocation routines when generating a POOLCHECK bugcheck and system dump.
VALIDATE POOL { /ALL (d) | /BAP | /NONPAGED | /PAGED } [ /HEADER | /MAXIMUM_BYTES [=n] /SUMMARY ]
None.
/ALL
Checks free packets for all pool types (nonpaged pool, paged pool, and bus addressable pool). This is the default./BAP
Checks free packets in bus addressable pool./HEADER
Displays only the first 16 bytes of any corrupted free packets found./MAXIMUM_BYTES[=n]
Displays only the first n bytes of any corrupted free packets found. If you specify /MAXIMUM_BYTES without a value, the default is 64 bytes./NONPAGED
Checks free packets in nonpaged pool./PAGED
Checks free packets in paged pool./SUMMARY
Displays only a summary of corrupted pool packets found.
The VALIDATE POOL command displays information about corrupted free pool packets. It is useful only if pool checking has been enabled using either the POOLCHECK or the SYSTEM_CHECK system parameters. (For information on these system parameters, refer to the HP OpenVMS System Management Utilities Reference Manual or to the Sys_Parameters online help topic.)
#1 |
---|
SDA> VALIDATE POOL Non-Paged Dynamic Storage Pool: no free packet corruption detected Paged Dynamic Storage Pool: no free packet corruption detected |
This example shows the default behavior of VALIDATE POOL, checking all dynamic storage pools.
2.
This example shows the validation of nonpaged pool only, and displays the header of the corrupted block found.
Performs validation of process data structures. Currently, the only validation available is to check free process pool packets for POOLCHECK-style corruption, using the same algorithm as the system pool allocation routines when generating a POOLCHECK bugcheck and system dump.
VALIDATE PROCESS/POOL [= {P0 | P1 | IMGACT | ALL (d)} ] [/ADDRESS=pcb-address | process-name | ALL | /ID=nn | /INDEX=nn | /NEXT | /SYSTEM]
[/HEADER | /MAXIMUM_BYTES[=n] | /SUMMARY]
ALL
Indicates that all processes in the system are to be validated.process name
Name of the process to be validated. The process name can contain up to 15 uppercase letters, numerals, underscore (_), dollar sign ($), colon (:), and some other printable characters. If it contains any other characters (including lowercase letters), you might need to enclose the process name in quotation marks (" ").
/ADDRESS = pcb address
Specifies the process control block (PCB) address of the process to be validated./HEADER
Displays only the first 16 bytes of any corrupted free packets found./ID = nn/INDEX = nn
Specifies the process to be validated 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.
- A 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 can be specified. Any thread-specific data displayed by further commands is 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.
/MAXIMUM_BYTES[=n]
Displays only the first n bytes of any corrupted free packets found. If you specify /MAXIMUM_BYTES without a value, the default is 64 bytes./NEXT
Causes SDA to locate the next process in the process list and validate that process. If there are no further processes in the process list, SDA returns an error./POOL [= {P0 | P1 | IMGACT | ALL (d)} ]
(Required) Causes process pool validation to be performed. Use of a keyword on the /POOL qualifier allows the user to specify which process pool is to be validated (P0, P1, Image Activator Pool, or ALL). Default: ALL/SUMMARY
Displays only a summary of the corrupted pool packets found./SYSTEM
This qualifier is provided for compatibility with SET PROCESS/SYSTEM and SHOW PROCESS/SYSTEM. There is no pool associated with the system process that can be validated. SDA sets its current process context to the system process and outputs the text:Options ignored for System process: POOL
The VALIDATE PROCESS command validates the process indicated by one of the following: process-name, the process specified in the /ID or /INDEX qualifier, the next process in the system's process list, the system process, or all processes. The VALIDATE PROCESS command performs an implicit SET PROCESS command under certain uses of its qualifiers and parameters, as noted in Section 2.5. By default, the VALIDATE PROCESS command validates the SDA current process, as defined in Section 2.5.Currently, the only validation available is to check free pool packets for POOLCHECK-style corruption. The command is useful only if pool checking has been enabled using either the POOLCHECK or the SYSTEM_CHECK system parameters. (For information on these system parameters, refer to the HP OpenVMS System Management Utilities Reference Manual or to the Sys_Parameters online help topic.)
If a process is specified using process-name, /ADDRESS, /ID, /INDEX, /NEXT, or /SYSTEM, that process becomes the SDA current process for future commands.
This example shows the default behavior of VALIDATE PROCESS/POOL, checking all process storage pools, and displaying only the header of the corrupted block found.
Validates the integrity of the specified queue by checking the pointers in the queue.
VALIDATE QUEUE [address]
[/BACKLINK | /LIST | /PHYSICAL
| /QUADWORD | /SELF_RELATIVE | /SINGLY_LINKED]
address
Address of an element in a queue.If you specify the period (.) as the address, SDA uses the last evaluated expression as the queue element's address.
If you do not specify an address, the VALIDATE QUEUE command determines the address from the last issued VALIDATE QUEUE command in the current SDA session.
If you do not specify an address, and no queue has previously been specified, SDA displays the following error message:
%SDA-E-NOQUEUE, no queue has been specified for validation
/BACKLINK
Allows doubly linked lists to be validated from the tail of the queue. If the queue is found to be broken when validated from the head of the queue, you can use /BACKLINK to narrow the list of corrupted entries./LIST
Displays the address of each element in the queue./PHYSICAL
Allows validation of queues whose header and links are physical addresses./QUADWORD
Allows the validate operation to occur on queues with linked lists of quadword addresses./SELF_RELATIVE
Specifies that the selected queue is a self-relative queue./SINGLY_LINKED
Allows validation of queues that have no backward pointers.
The VALIDATE QUEUE command uses the forward and, optionally, backward pointers in each element of the queue to make sure that all such pointers are valid and that the integrity of the queue is intact. If the queue is intact, SDA displays the following message:
In these messages, n represents the number of entries the VALIDATE QUEUE command has found in the queue.
Queue is complete, total of n elements in the queueIf SDA discovers an error in the queue, it displays one of the following error messages:
Error in forward queue linkage at address nnnnnnnn after tracing x elements Error comparing backward link to previous structure address (nnnnnnnn) Error occurred in queue element at address oooooooo after tracing pppp elementsThese messages can appear frequently when you use the VALIDATE QUEUE command within an SDA session that is analyzing a running system. In a running system, the composition of a queue can change while the command is tracing its links, thus producing an error message.
If there are no entries in the queue, SDA displays this message:
The queue is empty
#1 |
---|
SDA> VALIDATE QUEUE/SELF_RELATIVE IOC$GQ_POSTIQ Queue is complete, total of 159 elements in the queue |
This example validates the self-relative queue IOC$GQ_POSTIQ. The validation is successful and the system determines that there are 159 IRPs in the list.
#2 |
---|
SDA> VALIDATE QUEUE/QUADWORD FFFFFFFF80D0E6CO/LIST Entry Address Flink Blink ----- ------- ------ ----- Header FFFFFFFF80D0E6CO FFFFFFFF80D03780 FFFFFFFF80D0E800 1. FFFFFFFF80D0E790 FFFFFFFF80D0E7CO FFFFFFFF80D0E6C0 2. FFFFFFFF80D0E800 FFFFFFFF80D0E6C0 FFFFFFFF80D0E7C0 Queue is complete, total of 3 elements in the queue |
This example shows the validation of quadword elements in a list.
#3 |
---|
SDA> VALIDATE QUEUE/SINGLY_LINKED EXE$GL_NONPAGED+4 Queue is zero-terminated, total of 95 elements in the queue |
This example shows the validation of singly linked elements in the queue. The forward link of the final element is zero instead of being a pointer back to the queue header.
Validates all the shared memory common property partitions (CPPs) and the counts and ranges of attached PFNs; optionally, it can validate the contents of the database for each PFN.
VALIDATE SHM_CPP [/qualifiers]
None.
/ADDRESS=n
Validates the counts and ranges for a single shared memory CPP given the address of the SHM_CPP structure./ALL
Validates all the shared memory CPPs. This is the default./IDENT=n
Validates the counts and ranges for a single shared memory CPP./PFN
Validates the PFN database contents for each attached PFN. The default is all lists (free, bad, untested) plus the PFN database pages and the complete range of PFNs in the CPP.You can limit which lists are validated by specifying one or more keywords from the following table. If you specify multiple keywords, enclose them in parentheses and separate keywords with a comma.
ALL_FRAGMENTS Validates the complete range of PFNs in the CPP. BAD Validates only the bad page list. FREE Validates only the free page list. PFNDB Validates the PFNs containing the PFN database. UNTESTED Validates only the untested page list. If you specify the /PFN without /ALL, /IDENT, or /ADDRESS, the system validates the PFN lists from the last shared memory CPP.
SDA> VALIDATE SHM_CPP Not validating SHM_CPP 0000 at FFFFFFFF.7F2BA140, VALID flag clear Not validating SHM_CPP 0001 at FFFFFFFF.7F2BA380, VALID flag clear Not validating SHM_CPP 0002 at FFFFFFFF.7F2BA5C0, VALID flag clear Validating SHM_CPP 0003 at FFFFFFFF.7F2BA800 ... Validating counts and ranges in the free page list ... ... o.k. Not validating the bad page list, list is empty Not validating the untested page list, list is empty Not validating SHM_CPP 0004 at FFFFFFFF.7F2BAA40, VALID flag clear Not validating SHM_CPP 0005 at FFFFFFFF.7F2BAC80, VALID flag clear Not validating SHM_CPP 0006 at FFFFFFFF.7F2BAEC0, VALID flag clear |
This example shows the default output for the VALIDATE SHM_CPP command.
Validates all the data structures associated with timer queue entry index (TQEIDX) structures.
VALIDATE TQEIDX
None.
None.
TQEs are linked together with index blocks that point to TQEs or to another level of index block. VALIDATE TQEIDX checks that all the index blocks are correctly linked together.
SDA> VALIDATE TQEIDX Validating time index buckets... ... o.k. Validating ID index buckets... ... o.k. Validating 1st time... ... o.k. Validating counts... ... o.k. |
This example shows the output from a successful VALIDATE TQEIDX command.
Causes SDA to wait for the specified length of time.
WAIT [wait-time]
wait-time
The wait time is given as a delta time: [[hh:]mm:]ss[.t[h]]. If omitted, the default wait time is one second.
None.
The WAIT command can be used in command procedures such as scripts collecting performance data. See Chapter 8 for a sample procedure.
SDA> WAIT 00:00:15 |
SDA waits 15 seconds before accepting the next command.
Previous | Next | Contents | Index |