Updated: 11 December 1998 |
OpenVMS VAX System Dump Analyzer Utility Manual
Previous | Contents | Index |
Displays the location and contents of the four process stacks of the SDA current process and the interrupt stack of the SDA current CPU.
SHOW STACK [range|/qualifier[,...]]
range
Range of memory locations you want to display in stack format. You can express a range using the following format:
m:n Range of virtual addresses from m to n m;n Range of virtual addresses starting at m and continuing for n bytes
/ALL
Displays the locations and contents of the four process stacks for the SDA current process and the interrupt stack for the SDA current CPU./EXECUTIVE
Shows the executive stack for the SDA current process./INTERRUPT
Shows the interrupt stack for the SDA current CPU./KERNEL
Shows the kernel stack for the SDA current process./SUPERVISOR
Shows the supervisor stack for the SDA current process./USER
Shows the user stack for the SDA current process.
The SHOW STACK command, by default, displays the stack that was in use when the system failed or, in the analysis of a running system, the current operating stack. For any other process made the SDA current process, the SHOW STACK command by default shows its current operating stack.The various qualifiers to the command can display any of the four per-process stacks for the SDA current process, as well as the interrupt stack for the SDA current CPU.
You can define SDA process and CPU context by using the SET CPU, SHOW CPU, SHOW CRASH, SET PROCESS, and SHOW PROCESS commands as indicated in their command descriptions. A complete discussion of SDA context control appears in Section 4.
SDA provides the following information in each stack display.
Section Contents Identity of stack SDA indicates whether the stack is a process stack (user, supervisor, executive, or kernel) or the processor interrupt stack. If the interrupt stack is being displayed, SDA displays the CPU ID of the processor that owns it. Similarly, if the SDA current process is currently scheduled on a processor in the system, SHOW STACK also specifies the CPU ID of the processor on which the process is scheduled. Stack pointer The stack pointer identifies the top of the stack. The display indicates the stack pointer by the symbol SP =>. Stack address SDA lists all the virtual addresses that the operating system has allocated to the stack. The stack addresses are listed in a column that increases in increments of 4 bytes (one longword). Stack contents SDA lists the contents of the stack in a column to the right of the stack addresses. Symbols SDA attempts to display the contents of a location symbolically, using a symbol and an offset. If the address is not within FFF 16 of the value of any existing symbol, this column is left blank.
If a stack is empty, the display shows the following:
SP => (STACK IS EMPTY)
SDA> SHOW STACK Process stacks (on CPU 00) -------------------------- Current operating stack (USER): 7FF73278 200C0000 7FF7327C 00001518 SGN$C_MAXPGFL+518 7FF73280 7FF732F0 7FF73284 000187A7 RMS$_ECHO+72E SP => 7FF73288 0000060A BUG$_NOHDJMT+002 7FF7328C 00000000 7FF73290 00000003 7FF73294 7FF73800 7FF73298 7FF73800 |
The SHOW STACK command displays a user stack that was the current operating stack for a process scheduled on CPU 00. The data shown above the stack pointer might not be valid. The symbol to the right of the columns, BUG$_NOHDJMT+002, is the result of the SDA attempt to interpret the contents of the longword at the top of the stack as a symbol meaningful to the user. In this case, the value on the stack and the value of BUG$_NOHDJMT are unrelated.
Displays a list of all active processes and the values of the parameters used in swapping and scheduling those processes.
SHOW SUMMARY [/IMAGE]
None.
/IMAGE
Causes SDA to display, if possible, the name of the image being executed within each process.
The SHOW SUMMARY command displays the information in Table SDA-23 for each active process in the system.
Table SDA-23 Process Information in the SHOW SUMMARY Display Column Contents Extended PID 32-bit number that uniquely identifies the process Indx Index of this process into the PCB array Process name Name assigned to the process Username Name of the user who created the process State Current state of the process, one of the following 14 states:
- COM
Computable and resident in memory
- COMO
Computable but outswapped
- CUR
- CEF
Waiting for a common event flag
- LEF
Waiting for a local event flag
- LEFO
Outswapped and waiting for a local event flag
- HIB
Hibernating
- HIBO
Hibernating and outswapped
- SUSP
Suspended
- SUSPO
Suspended and outswapped
- PFW
Waiting for a page that is not in memory (page-fault wait)
- FPG
Waiting to add a page to its working set (free-page wait)
- COLPG
Waiting for a page collision to be resolved (collided-page wait); this usually occurs when several processes cause page faults on the same shared page
- MWAIT
Waiting for a system resource (miscellaneous wait)
Pri Current scheduling priority of the process PCB Address of the process control block PHD Address of the process header Wkset Number (in decimal) of pages currently in the working set of the process
SDA> SHOW SUMMARY/IMAGE Current process summary ----------------------- Extended Indx Process name Username State Pri PCB PHD Wkset -- PID -- ---- --------------- ----------- ------- --- -------- -------- ----- 33C00101 0001 SWAPPER HIB 16 8000C3C0 8000C200 0 33C00205 0005 _RTA5: SIVAD LEF 4 80482FE0 82120E00 293 33C00106 0006 ERRFMT SYSTEM HIB 8 80432950 80DB4600 126 $254$DUA200:[SYS6.SYSCOMMON.][SYSEXE]ERRFMT.EXE;1 33C00107 0007 CACHE_SERVER SYSTEM HIB 16 80432AC0 81121E00 120 $254$DUA200:[SYS6.SYSCOMMON.][SYSEXE]FILESERV.EXE;400 33C00108 0008 CLUSTER_SERVER SYSTEM HIB 10 804331F0 81246600 313 $254$DUA200:[SYS6.SYSCOMMON.][SYSEXE]CSP.EXE;300 . . . 33C0010D 000D NETACP DECNET CUR 00 10 8044C6D0 816D8600 1500 $254$DUA200:[SYS6.SYSCOMMON.]<SYSEXE>NETACP.EXE;3 33C0010E 000E EVL DECNET HIB 4 8044CD60 817FCE00 68 $254$DUA200:[SYS6.SYSCOMMON.]<SYSEXE>EVL.EXE . . . |
The SHOW SUMMARY/IMAGE command describes all active processes in the system at the time of the system failure. Note that the process NETACP is in the CUR state on CPU 00 of a multiprocessor system at the time of the failure.
Displays the hexadecimal value of a symbol and, if the value is equal to an address location, the contents of that location.
SHOW SYMBOL [/ALL] symbol-name
symbol-name
Name of the symbol to be displayed. You must provide a symbol-name.
/ALL
Displays information about all symbols whose names begin with the characters specified in symbol-name.
The SHOW SYMBOL/ALL command is useful for determining the values of symbols that belong to a symbol set, as illustrated in the examples.
#1 |
---|
SDA> SHOW SYMBOL G G = 80000000 : 8FBC0FFC |
The SHOW SYMBOL command evaluates the symbol G as 8000000016 and displays the contents of address 8000000016 as 8FBC0FFC16.
#2 |
---|
SDA> SHOW SYMBOL/ALL BUG |
Symbols sorted by name ---------------------- BUG$BUILD_HEADE 80002038 => 24A89F16 BUG$_CONSOLRX50 00000640 => 10A2020E BUG$DUMP_REGIST 80002040 => 24A89F16 BUG$_CONTRACT 000000C0 BUG$FATAL 80002048 => 24A89F16 BUG$_CPUBUSYWAI 00000780 => 6501FB30 BUG$L_BUGCHK_FL 80004108 => 00000001 BUG$_CPUCEASED 000005E8 => 5EDD0000 BUG$L_FATAL_SPS 8000410C => 7FFE7C6C BUG$_CPUEXIT 000006B8 => 218FD007 BUG$READ_ERR_RE 80002050 => 24A89F16 BUG$_CPUSANITY 00000778 => 8A031164 BUG$REBOOT 80002058 => 6E9E9F17 BUG$_CTERM 00000678 => 00000004 BUG$TABLE 8000D09E => 00280001 BUG$_CWSERR 00000698 => 004C414E . . .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.
Displays information about all transactions on the node or about a specified transaction.
SHOW TRANSACTIONS [/qualifier[,...]]
/DISPLAY=(item [,...])
Specifies the type of information to be displayed. The argument to /DISPLAY can be either a single item or a list. The following items can be specified.
Item Description ALL All transaction control structures for the specified transaction. This is the default behavior. BRANCHES Control structures for branches of the specified transaction. PARTICIPANTS Control structures for resource managers participating in the specified transaction. THREADS Control structures for threads of the specified transaction. TRANSACTIONS Transaction control structures for the specified transaction. /SUMMARY
Displays statistics for transactions on the node. The /SUMMARY qualifier cannot be used with the /TID or /DISPLAY qualifier./TID=tid
Specifies the transaction for which information is to be displayed. If you omit the /TID qualifier, the SHOW TRANSACTIONS command displays information about all transactions on the node.
#1 |
---|
SDA> SHOW TRANSACTIONS/TID=FAC21DE2-BA88-0092-8FA6-00000000B24B |
The SHOW TRANSACTIONS command displays all the transaction control structure information for the transaction identified by the transaction identifier.
#2 |
---|
SDA> SHOW TRANSACTIONS/DISPLAY=(PARTICIPANTS, BRANCHES) |
The SHOW TRANSACTIONS command displays the transaction branch and resource manager information for all transactions on the node.
Creates a subprocess of the process currently running SDA, copying the context of the current process to the subprocess and, optionally, executing within the subprocess a specified command.
SPAWN [/qualifier[,...]] [command]
command
Name of the command that you want executed by the subprocess.
/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. Once 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 completes processing or aborts. The default behavior is that such a message is not sent to SYS$OUTPUT.When you use this qualifier, you must also specify the /NOWAIT qualifier.
/NOWAIT
Specifies that the system is not to wait until the subprocess is completed before allowing more commands to be specified. This qualifier allows you to specify new commands while the spawned subprocess is running. If you specify /NOWAIT, you should 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 commands to be specified.
/OUTPUT=filespec
Specifies an output file to which the results of the SPAWN operation are written. You should specify an output other than SYS$OUTPUT whenever you specify /NOWAIT to prevent output from the spawned subprocess from being displayed while you are specifying new commands. 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.
SDA> SPAWN $ MAIL . . . $ DIR . . . $ LO Process SYSTEM_1 logged out at 5-MAR-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.
Validates the integrity of the specified queue by checking the pointers in the queue.
VALIDATE QUEUE [address] [/qualifier[,...]]
address
Address of an element in a queue.If you specify a 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
/MAXIMUM_LINKS=nn
Specifies the number of entries in the queue that are to be validated./SELF_RELATIVE
Specifies that the selected queue is a self-relative queue.
The VALIDATE QUEUE command uses the forward and 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 the VALIDATE QUEUE command is used 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 SCH$GQ_LEFWQ/MAXIMUM_LINKS=3 The queue is consistent through 3 elements |
This example validates three elements in the SCH$GQ_LEFWQ queue.
#2 |
---|
SDA> VALIDATE QUEUE/SELF_RELATIVE IOC$GL_IRPFL Queue is complete, total of 159 elements in the queue |
This example validates the self-relative queue that is the IRP pool list. The validation is successful and determines that there are 159 IRPs in the list.
Index | Contents |
Copyright © Compaq Computer Corporation 1998. All rights reserved. Legal |
4556PRO_017.HTML
|