HP OpenVMS Systems Documentation |
OpenVMS VAX System Dump Analyzer Utility Manual
The READ command causes SDA to add all the global symbols in SYS$SYSTEM:SYSDEF.STB to the SDA symbol table. Such symbols are useful when you are formatting an I/O data structure, such as a unit control block or an I/O request packet.
REPEAT
Repeats execution of the last command issued. On terminal devices, the KP0 key performs the same function as the REPEAT command. FormatREPEAT ParametersNone. QualifiersNone. DescriptionThe REPEAT command is useful for stepping through a linked list of data structures or for examining a sequence of memory locations. Examples
SEARCH
Scans a range of memory locations for all occurrences of a specified value. FormatSEARCH [/qualifier] range[=]expression Parameters
Qualifiers
DescriptionSEARCH displays each location as each value is found.
|
#1 |
---|
SDA> SEARCH GB81F0;500 60068 Searching from 800B81F0 to 800B86F0 in LONGWORD steps for 00060068... Match at 800B8210 SDA> |
The SEARCH command finds the value 0060068 in the longword at 800B8210.
#2 |
---|
SDA> SEARCH/STEPS=BYTE 80000000;1000 6 Searching from 80000000 to 80001000 in BYTE steps for 00000006... Match at 80000A99 SDA> |
The SEARCH command finds the value 00000006 in the longword at 80000A99.
#3 |
---|
SDA> SEARCH/LENGTH=WORD 80000000;2000 6 Searching from 80000000 to 80002000 in LONGWORD steps for 0006... Match at 80000054 Match at 800001EC Match at 800012AC Match at 800012B8 SDA> |
The SEARCH command finds the value 0006 in the longword locations 80000054, 800001EC, 800012AC, and 800012B8.
Selects a processor to become the SDA current CPU.
SET CPU cpu-id
cpu-id
Numeric value from 0016 to 1F16 indicating the identity of the processor to be made the current CPU. If you specify a value outside this range or a cpu-id of a processor that was not active at the time of the system failure, SDA displays the following message:
%SDA-E-CPUNOTVLD, CPU not booted or CPU number out of range
None.
When you invoke SDA to examine a system dump, the SDA current CPU context defaults to that of the processor that caused the system to fail. When analyzing a crash from a multiprocessing system, you might find it useful at times to examine the context of another processor in the configuration.The SET CPU command changes the current SDA CPU context to that of the processor indicated by cpu-id. The CPU specified by this command becomes the current CPU for SDA until you exit SDA or change SDA CPU context by issuing one of the following commands:
SET CPU cpu-id
SHOW CPU cpu-id
SHOW CRASHThe following commands also change SDA CPU context if the name or index number (nn) refers to a current process:
SET PROCESS name
SET PROCESS/INDEX=nn
SHOW PROCESS name
SHOW PROCESS/INDEX=nnChanging CPU context can cause an implicit change in process context under the following circumstances:
- If there is a current process on the CPU made current, SDA changes its process context to that of that CPU's current process.
- If there is no current process on the CPU made current, SDA process context is undefined and no process-specific information is available until you set SDA process context to that of a specific process.
See Section 4 for further discussion on the way in which SDA maintains its context information.
You cannot use the SET CPU command when examining the running system with SDA.
$ ANALYZE/CRASH SYS$SYSTEM:SYSDUMP.DMP Dump taken on 22-FEB-1993 14:22:17.66 NOBUFPCKT, Required buffer packet not present SDA> SHOW CPU CPU 01 Processor crash information ---------------------------------- CPU 01 reason for Bugcheck: NOBUFPCKT, Required buffer packet not present . . . SDA> SHOW STACK CPU 01 Processor stack ---------------------- Current operating stack (INTERRUPT): 80DAFB4C 8018BC20 80DAFB50 7FFC653E . . . SDA> SET CPU 00 SDA> SHOW CPU CPU 00 Processor crash information ---------------------------------- CPU 00 reason for Bugcheck: CPUEXIT, Shutdown requested by another CPU . . . SDA> SHOW STACK CPU 00 Processor stack ---------------------- Current operating stack (INTERRUPT): 8016ABD8 00011F4C 8016ABDC 00010F56 . . . SDA> SHOW CRASH System crash information ------------------------ Time of system crash: 22-FEB-1993 14:22:17.66 . . . SDA> SHOW STACK CPU 01 Processor stack ---------------------- Current operating stack (INTERRUPT): 80DAFB4C 8018BC20 80DAFB50 7FFC653E . . . |
The series of SHOW CPU and SHOW STACK commands in this example illustrates the switching of CPU context within an SDA session:
- When you first invoke SDA, it is, by default, within the CPU context of the processor that caused the crash (CPU 01). This is illustrated by the first set of SHOW CPU and SHOW STACK commands.
- The SET CPU 00 command explicitly changes SDA CPU context to that of CPU 00, as illustrated by the second sequence of SHOW CPU and SHOW STACK commands.
Note that a SHOW CPU 00 command would have the same effect as the two commands SET CPU 00 and SHOW CPU, changing the SDA CPU context in addition to displaying the processor-specific information. Unlike the SHOW CPU cpu-id command, no display is associated with the SET CPU cpu-id command.- The SHOW CRASH command resets the SDA CPU context to that of the processor that caused the crash (CPU 01).
Initiates or discontinues the recording of an SDA session in a text file.
SET [NO]LOG filespec
filespec
Name of the file in which you want SDA to log your commands and their output. The default filespec is SYS$DISK:[default_dir]filename.LOG, where SYS$DISK and [default-dir] represent the disk and directory specified in your last SET DEFAULT command. You must specify a file name.
None.
The SET LOG command echoes the commands and output of an SDA session to a log file. The SET NOLOG command terminates this behavior.There are the following differences between the SET LOG command and the SET OUTPUT command:
- When logging is in effect, your commands and their results are still displayed on your terminal. The SET OUTPUT command causes the displays to be redirected to the output file such that they no longer appear on the screen.
- If an SDA command requires that you press Return to produce successive screens of display, the log file produced by SET LOG will record only those screens that are actually displayed. SET OUTPUT, however, sends the entire output of all SDA commands to its listing file.
- The SET LOG command produces a log file with a default file type of .LOG; the SET OUTPUT command produces a listing file whose default file type is .LIS.
- The SET LOG command does not record output from the HELP command in its log file. The SET OUTPUT command can record HELP output in its listing file.
- The SET LOG command does not record SDA error messages in its log file. The SET OUTPUT command can record SDA error messages in its listing file.
- The SET OUTPUT command generates a table of contents, each item of which refers to a display written to its listing file. SET OUTPUT also produces running heads for each page of output. The SET LOG command does not produce these items in its log file.
Note that, if you have used the SET OUTPUT command to redirect output to a listing file, you cannot use a SET LOG command to direct the same output to a log file.
Redirects output from SDA to the specified file or device.
SET OUTPUT filespec
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 SET DEFAULT command. You must specify a file name.
When you use the SET OUTPUT command to send the SDA output to a file or device, SDA continues to display the SDA commands that you enter but sends the output generated by those commands to the file or device that you specify. (See the description of the SET LOG command for a list of differences between SET LOG and the SET OUTPUT command.)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$OUTPUTIf you use the SET OUTPUT command to send the SDA output to a listing file, 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.
Selects a process to become the SDA current process.
SET PROCESS {process-name|/INDEX=nn|/SYSTEM}
process-name
Name of the process to become the SDA current process. The process-name is a string containing up to 15 uppercase or lowercase characters; numerals, the dollar sign ($) character, and the underscore (_) character can also be included in the string. If you include characters other than these, you must enclose the entire string in quotation marks (" ").
/INDEX=nn
Specifies the process to be made current by its index into the system's list of software process control blocks (PCBs). You can supply either of the following values for nn:
- The process index itself
- The process identification (PID) or extended PID longword, from which SDA extracts the correct index
To obtain these values for any given process, issue the SDA command SHOW SUMMARY.
/SYSTEM
Specifies that the system process be made the SDA current process. Each system (uniprocessor or multiprocessor) uses a single system process control block (PCB) and process header (PHD) as dummy structures, located in system space, that record the system working set, global section table, global page table, and other systemwide data.
When you issue an SDA command such as an EXAMINE command, 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, its process context defaults to that of the process that was current at the time of the crash. If the crash occurred on a multiprocessing system, SDA sets the CPU context to that of the processor that crashed the system and the process context 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 name or /INDEX=nn. The process specified by this command becomes the current process for SDA until you exit SDA or change SDA process context by issuing one of the following commands:
SET PROCESS/INDEX=nn
SET PROCESS process-name
SHOW PROCESS/INDEX=nnIn the analysis of a crash dump from a multiprocessing system, changing process context can involve 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 will automatically change its CPU context to that of the CPU on which that process is current. The following commands can have this effect if process-name or index number (nn) refers to a current process:
SET PROCESS process-name
SET PROCESS/INDEX=nn
SHOW PROCESS process-name
SHOW PROCESS/INDEX=nnSee Section 4 for further discussion on the way in which SDA maintains its context information.
SDA> SHOW PROCESS Process index: 0012 Name: NETACP Extended PID: 28C00092 ----------------------------------------------------------- Process status: 00149001 RES,WAKEPEN,NOACNT,PHDRES,LOGIN PCB address 800F1140 JIB address 801FDA00 PHD address 80477200 Swapfile disk address 01000F01 . . . SDA> SHOW SUMMARY Current process summary ----------------------- Extended Indx Process name Username State Pri PCB PHD Wkset -- PID -- ---- --------------- ----------- ----- --- -------- -------- ----- 28C00080 0000 SWINGER COM 0 80002100 80001F88 0 28C00081 0001 SWAPPER HIB 16 800023C8 80002250 0 28C00483 0003 KLINGON KLINGON MWAIT 6 8010FEA0 803F8600 323 28C00085 0005 ERRFMT SYSTEM COM 10 800B5A10 8061DA00 69 28C00087 0007 OPCOM SYSTEM LEF 7 800C7000 80227A00 71 . . . SDA>SET PROCESS ERRFMT SDA> SHOW PROCESS Process index: 0005 Name: ERRFMT Extended PID: 28C00085 -------------- Process status: 00040001 RES,PHDRES PCB address 800B5A10 JIB address 801E5C00 . . . |
The first SHOW PROCESS command shows the current process to be NETACP. The SHOW SUMMARY command shows the names of the processes that exist. The SET PROCESS command sets the current process to ERRFMT, as shown by the second SHOW PROCESS command. Note that the SET PROCESS command could also have been issued as one of the following:
SDA> SET PROCESS/INDEX=5 SDA> SET PROCESS/INDEX=801E5C00
Previous | Next | Contents | Index |