[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

HP OpenVMS System Analysis Tools Manual


Previous Contents Index


SET CPU

When analyzing a system dump, selects a processor to become the current CPU for SDA. When invoked under ANALYZE/SYSTEM, SET CPU lists the database address for the specified CPU before exiting with the message:


%SDA-E-CMDNOTVLD command not valid on the running system 

Format

SET CPU {cpu-id | /FIRST | /NEXT | /PRIMARY } [/NOLOG]


Parameter

cpu-id

Numeric value indicating the identity of the processor to be made the current CPU. If you specify the 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 

Qualifiers

/FIRST

The lowest numbered CPU (not necessarily the primary CPU) is set as the current CPU.

/NEXT

The next higher numbered CPU is set as the current CPU. SDA skips CPUs not in the configuration at the time of the system failure. If there are no further CPUs, SDA returns an error.

/NOLOG

Use the /NOLOG qualifier to inhibit output of the database address for the CPU being set.

/PRIMARY

The primary CPU is set as the current CPU.

Description

When you invoke SDA to examine a system dump, the current CPU context for SDA defaults to that of the processor that caused the system to fail. When analyzing a system failure from a multiprocessing system, you may find it useful to examine the context of another processor in the configuration.

The SET CPU command changes the current CPU context for SDA to that of the processor indicated by cpu-id. The CPU specified by this command becomes the current CPU for SDA until you either exit from SDA or change the CPU context for SDA by issuing one of the following commands:

SET CPU cpu-id
SET CPU /FIRST
SET CPU /NEXT
SET CPU /PRIMARY
SHOW CPU cpu-id
SHOW CPU /FIRST
SHOW CPU /NEXT
SHOW CPU /PRIMARY
SHOW CRASH
SHOW MACHINE_CHECK cpu-id

Changing 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, the SDA process context is undefined and no process-specific information is available until you set the SDA process context to that of a specific process.

The following commands also change the CPU context for SDA to that of the CPU on which the process was most recently current:

SET PROCESS process-name
SET PROCESS/ADDRESS=pcb-address
SET PROCESS/INDEX=nn
SET PROCESS/NEXT
SHOW PROCESS process-name
SHOW PROCESS/ADDRESS=pcb-address
SHOW PROCESS/INDEX=nn
SHOW PROCESS/NEXT
VALIDATE PROCESS/POOL process-name
VALIDATE PROCESS/POOL/ADDRESS=pcb-address
VALIDATE PROCESS/POOL/INDEX=nn
VALIDATE PROCESS/POOL/NEXT

See Section 2.5 for further discussion of the way in which SDA maintains its context information.

See the description of the REPEAT command for an example of the use of SET CPU/NEXT command.


SET ERASE_SCREEN

Enables or disables the automatic clearing of the screen before each new page of SDA output.

Format

SET ERASE_SCREEN {ON | OFF}


Parameters

ON

Enables the screen to be erased before SDA outputs a new heading. This setting is the default.

OFF

Disables the erasing of the screen.

Qualifiers

None.

Description

SDA's usual behavior is to erase the screen and then show the data. By setting the OFF parameter, the clear screen action is replaced by a blank line. This action does not affect what is written to a file when the SET LOG or SET OUTPUT commands are used.

Examples

#1

SDA>  SET ERASE_SCREEN ON
      

The clear screen action is now enabled.

#2

SDA> SET ERASE_SCREEN OFF
      

The clear screen action is disabled.


SET FETCH

Sets the default size and access method of address data used when SDA evaluates an expression that includes the @ unary operator.

Format

SET FETCH [{QUADWORD | LONGWORD | WORD | BYTE}]
[, {PHYSICAL | VIRTUAL} ]


Parameters

QUADWORD

Sets the default size to 8 bytes.

LONGWORD

Sets the default size to 4 bytes.

WORD

Sets the default size to 2 bytes.

BYTE

Sets the default size to 1 byte.

PHYSICAL

Sets the default access method to physical addresses.

VIRTUAL

Sets the default access method to virtual addresses.

You can specify only one parameter out of each group. If you are changing both size and access method, separate the two parameters by spaces or a comma. Include a comma only if you are specifying a parameter from both groups. See Example 6.


Qualifiers

None.

Description

Sets the default size and/or default access method of address data used by the @ unary operator in commands such as EXAMINE and EVALUATE. SDA uses the current default size unless it is overridden by the ^Q, ^L, ^W, or ^B qualifier on the @ unary operator in an expression. SDA uses the current default access method unless it is overridden by the ^P or ^V qualifier on the @ unary operator in an expression.

Examples

#1

SDA>  EXAMINE MMG$GQ_SHARED_VA_PTES
MMG$GQ_SHARED_VA_PTES:  FFFFFFFD.FF7FE000   ".`a....."
      

This example shows the location's contents of a 64-bit virtual address.

#2

SDA> SET FETCH LONG
SDA> EXAMINE @MMG$GQ_SHARED_VA_PTES
%SDA-E-NOTINPHYS, FFFFFFFF.FF7FE000 : virtual data not in physical memory
      

This example shows a failure because the SET FETCH LONG causes SDA to assume that it should take the lower 32 bits of the location's contents as a longword value, sign-extend them, and use that value as an address.

#3

SDA> EXAMINE @^QMMG$GQ_SHARED_VA_PTES
FFFFFFFD.FF7FE000:  000001D0.40001119   "...@..."
      

This example shows the correct results by overriding the SET FETCH LONG with the ^Q qualifier on the @ operator. SDA takes the full 64 bits of the location's contents and uses that value as an address.

#4

SDA> SET FETCH QUAD
SDA> EXAMINE @MMG$GQ_SHARED_VA_PTES
FFFFFFFD.FF7FE000:  000001D0.40001119   "...@..."
      

This example shows the correct results by changing the default fetch size to a quadword.

#5

SDA> SET FETCH PHYSICAL
SDA> EXAMINE /PHYSICAL @0
      

This command uses the contents of the physical location 0 as the physical address of the location to be examined.

#6

SDA> SET FETCH QUADWORD, PHYSICAL
      

This command sets the default fetch size and default access method at the same time.


SET LOG

Initiates or discontinues the recording of an SDA session in a text file.

Format

SET [NO]LOG filespec


Parameter

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 DCL command SET DEFAULT. If you specify SET LOG without a filename or specify SET NOLOG, SDA stops recording the session and directs all output to SYS$OUTPUT.

Qualifiers

None.

Description

The SET LOG command echoes the commands and output of an SDA session to a log file. The SET NOLOG command terminates this behavior.

The following differences exist 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 and 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 any 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 OUTPUT command can generate 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.

If you use the SET OUTPUT command to redirect output to a listing file, a SET LOG command to direct the same output to a log file is ineffective until output is restored to the terminal.


SET OUTPUT

Redirects output from SDA to the specified file or device.

Format

SET OUTPUT [/[NO]INDEX | /[NO]HEADER | /PERMANENT | /SINGLE_COMMAND] filespec


Parameter

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 DCL command SET DEFAULT. You must specify a file name except when /PERMANENT is specified.

Qualifiers

/INDEX

/NOINDEX

The /INDEX qualifier causes SDA to include an index page at the beginning of the output file. This is the default unless you specify /NOHEADER or modify the default with a SET OUTPUT/PERMANENT command. The /NOINDEX qualifier causes SDA to omit the index page from the output file.

/HEADER

/NOHEADER

The /HEADER qualifier causes SDA to include a heading at the top of each page of the output file. This is the default unless you modify it with a SET OUTPUT/PERMANENT command. The /NOHEADER qualifier causes SDA to omit the page headings. Use of /NOHEADER implies /NOINDEX.

/PERMANENT

Modifies the defaults for /[NO]HEADER and /[NO]INDEX. Specify either or both qualifiers with or without a NO prefix to set new defaults. Setting the default to /NOHEADER implies a default of /NOINDEX. The new defaults remain in effect until another SET OUTPUT/PERMANENT command is entered or the SDA session is ended.

You cannot combine /PERMANENT and /SINGLE_COMMAND in one command, and you cannot provide a filespec with /PERMANENT.

/SINGLE_COMMAND

Indicates to SDA that the output for a single command is to be written to the specified file and that subsequent output should be written to the terminal. /SINGLE_COMMAND cannot be combined with /PERMANENT.

Description

When you use the SET OUTPUT command to send the SDA output to a file or device, SDA continues displaying the SDA commands that you enter but sends the output generated by those commands to the file or device you specify. (See the description of the SET LOG command for a list of differences between the SET LOG and SET OUTPUT commands.)

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$OUTPUT

You do not need this command when you specify the /SINGLE_COMMAND qualifier on the original SET OUTPUT command.

If you use the SET OUTPUT command to send the SDA output to a listing file and do not specify /NOINDEX or /NOHEADER, 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, unless you specify /NOHEADER.

If the table of contents does not fit on a single index page at the beginning of the listing file, SDA will insert additional index pages as necessary. These are inserted into the listing file immediately preceding the pages that are listed in each index page. Each index page includes the page number for the adjacent index pages.

Note

See the description of the DUMP command for use of SET OUTPUT/NOHEADER.

SET PROCESS

Selects a process to become the SDA current process.

Format

SET PROCESS {/ADDRESS=pcb-address | process-name | /ID=nn | /INDEX=nn | /NEXT | /SYSTEM}


Parameter

process-name

Name of the process to become the SDA current process. The process-name can contain up to 15 uppercase letters, numerals, the underscore (_), dollar sign ($), colon (:), and some other printable characters. If it contains any other characters (including lowercase letters), you may need to enclose the process-name in quotation marks (" ").

Qualifiers

/ADDRESS = pcb-address

Specifies the process control block (PCB) address of a process in order to display information about the process.

/ID=nn

/INDEX=nn

Specifies the process for which information is to be displayed either by its index into the system's list of software process control blocks (PCBs), or by its process identification. /ID and /INDEX are functionally equivalent. You can supply the following values for nn:
  • The process index itself.
  • The 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 may be specified. Any thread-specific data displayed by further commands will be 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.

/NEXT

Causes SDA to locate the next valid process in the process list and select that process. If there are no further valid processes in the process list, SDA returns an error.

/SYSTEM

Specifies the new current process by the system process control block (PCB). The system PCB and process header (PHD) parallel the data structures that describe processes. They contain the system working set list, global section table, and other systemwide data.

Description

When you issue an SDA command such as EXAMINE, 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, the process context defaults to that of the process that was current at the time of the system failure. If the failure occurred on a multiprocessing system, SDA sets the CPU context to that of the processor that caused the system to fail. The process context is set 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 process-name, pcb-address, or /INDEX=nn. The process specified by this command becomes the current process for SDA until you either exit from SDA or change SDA process context by issuing one of the following commands:

SET PROCESS process-name
SET PROCESS/ADDRESS=pcb-address
SET PROCESS/INDEX=nn
SET PROCESS/NEXT
SET PROCESS/SYSTEM
SHOW PROCESS process-name
SHOW PROCESS/ADDRESS=pcb-address
SHOW PROCESS/INDEX=nn
SHOW PROCESS/NEXT
SHOW PROCESS/SYSTEM
VALIDATE PROCESS/POOL process-name
VALIDATE PROCESS/POOL/ADDRESS=pcb-address
VALIDATE PROCESS/POOL/INDEX=nn
VALIDATE PROCESS/POOL/NEXT
VALIDATE PROCESS/POOL/SYSTEM

When you analyze a crash dump from a multiprocessing system, changing process context causes a switch of CPU context as well. When you issue a SET PROCESS command, SDA automatically changes its CPU context to that of the CPU on which that process was most recently current.

The following commands will also switch process context when analyzing a system dump, if there was a current process on the target CPU at the time of the crash:

SET CPU cpu-id
SET CPU /FIRST
SET CPU /NEXT
SET CPU /PRIMARY
SHOW CPU cpu-id
SHOW CPU /FIRST
SHOW CPU /NEXT
SHOW CPU /PRIMARY
SHOW CRASH
SHOW MACHINE_CHECK cpu-id

See Section 2.5 for further discussion of the way in which SDA maintains its context information.


Example


SDA> SET PROCESS/ADDRESS=80D772C0
SDA> SHOW PROCESS 
Process index: 0012   Name: ERRFMT   Extended PID: 00000052 
----------------------------------------------------------- 
Process status:  02040001   RES,PHDRES,INTER 
        status2: 00000001   QUANTUM_RESCHED 
 
PCB address              80D772CO    JIB address              80556600 
PHD address              80477200    Swapfile disk address    01000F01 
KTB vector address       80D775AC    HWPCB address            81260080 
Callback vector address  00000000    Termination mailbox          0000 
Master internal PID      00010004    Subprocess count                0 
Creator extended PID     00000000    Creator internal PID     00000000 
Previous CPU Id          00000000    Current CPU Id           00000000 
Previous ASNSEQ  0000000000000001    Previous ASN     000000000000002E 
Initial process priority        4    Delete pending count            0 
# open files allowed left     100    Direct I/O count/limit        150/150 
UIC                [00001,000004]    Buffered I/O count/limit      149/150 
Abs time of last event   0069D34E    BUFIO byte count/limit      99424/99808 
ASTs remaining                247    # of threads                    1 
Swapped copy of LEFC0    00000000    Timer entries allowed left     63 
Swapped copy of LEFC1    00000000    Active page table count         4 
Global cluster 2 pointer 00000000    Process WS page count          32 
Global cluster 3 pointer 00000000    Global WS page count           31 
      

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-3 lists those keywords that can be used as options.

Table 4-3 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 Image I/O (NOPIO), the default, or process I/O (PIO)
[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 (ALL,NOPIO), which designates that the SHOW PROCESS/RMS command display all structures for all files related to the process image I/O.

If only a single option is specified, you can omit the parentheses. 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.

#4

SDA> SET RMS=(*,PIO)
      

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.


Previous Next Contents Index