|
HP OpenVMS systems documentation |
Previous | Contents | Index |
Displays a list of all devices in the system and their associated data structures, or displays the data structures associated with a given device or devices.
SHOW DEVICE [device-name[:] |/ADDRESS=ucb-address|/BITMAP| /CDT=cdt_address|/CHANNELS| /HOMEPAGE|/PDT|/UCB=ucb-address]
device-name
Device or devices for which data structures are to be displayed. The following table lists several uses of the device-name parameter:
To display the structures for: Take the following action: All devices in the system Do not specify a device-name (for example, SHOW DEVICE). A single device Specify an entire device-name (for example, SHOW DEVICE VTA20). All devices of a certain type on a single controller Specify only the device type and controller designation (for example, SHOW DEVICE RTA or SHOW DEVICE RTB). All devices of a certain type on any controller Specify only the device type (for example, SHOW DEVICE RT). All devices whose names begin with a certain character or character string Specify the character or character string (for example, SHOW DEVICE D). All devices on a single node or HSC Specify only the node name or HSC name (for example, SHOW DEVICE GREEN$). All devices with a certain allocation class Specify the allocation class including leading and trailing $, for example, SHOW DEVICE $63$. A colon (:) at the end of a device name is optional.
Note
All qualifiers specific to Memory Channel (CHANNELS, HOMEPAGE, and PDT) are disabled for OpenVMS I64 systems.
/ADDRESS=ucb-address
Indicates the device for which data structure information is to be displayed by the address of its unit control block (UCB). The /ADDRESS qualifier is an alternate method of supplying a device name to the SHOW DEVICE command. If both the device-name parameter and the /ADDRESS qualifier appear in a single SHOW DEVICE command, SDA responds only to the parameter or qualifier that appears first./BITMAP
Displays information about data structures related to Write Bitmap (WBM). Bitmaps are used by Host-Base Volume Shadowing (HBVS) for the implementation of Mini Copy and Host-Based Minimerge (HBMM). If the /BITMAP qualifier is specified with a device that is not an HBVS virtual unit, the error NOSUCHDEV is returned.A device name must be specified. If SHOW DEVICE/BITMAP DS is entered, bitmaps for all HBVS virtual units are displayed.
/CDT=cdt_address
Identifies the device by the address of its Connector Descriptor Table (CDT). This applies to cluster port devices only./CHANNELS
Displays information on active Memory Channel channel blocks. This qualifier is ignored for devices other than Memory Channel./HOMEPAGE
Displays fields from the Memory Channel Home Page. This qualifier is ignored for devices other than Memory Channel./PDT
Displays the Memory Channel Port Descriptor Table. This qualifier is ignored for devices other than Memory Channel./UCB=ucb-address
This is a synonym for /ADDRESS=ucb-address as described previously.
The SHOW DEVICE command produces several displays taken from system data structures that describe the devices in the system configuration.If you use the SHOW DEVICE command to display information for more than one device or one or more controllers, it initially produces the device data block (DDB) list to provide a brief summary of the devices for which it renders information in subsequent screens.
Information in the DDB list appears in five columns, the contents of which are as follows:
- Address of the device data block (DDB)
- Controller name
- Name of the ancillary control process (ACP) associated with the device
- Name of the device driver
- Address of the driver prologue table (DPT)
The SHOW DEVICE command then produces a display of information pertinent to the device controller. This display includes information gathered from the following structures:
- Device data block (DDB)
- Primary channel request block (CRB)
- Interrupt dispatch block (IDB)
- Driver dispatch table (DDT)
If the controller is an HSC controller, SHOW DEVICE also displays information from its system block (SB) and each path block (PB).
Many of these structures contain pointers to other structures and driver routines. Most notably, the DDT display points to various routines located within driver code, such as the start I/O routine, unit initialization routine, and cancel I/O routine.
For each device unit subject to the SHOW DEVICE command, SDA displays information taken from its unit control block, including a list of all I/O request packets (IRPs) in its I/O request queue. For certain mass storage devices, SHOW DEVICE also displays information from the primary class driver data block (CDDB), the volume control block (VCB), and the ACP queue block (AQB). For units that are part of a shadow set, SDA displays a summary of shadow set membership.
As it displays information for a given device unit, SHOW DEVICE defines the symbols of Table 4-3 as appropriate:
Table 4-3 SHOW DEVICE Symbols Symbol Meaning UCB Address of unit control block SB Address of system block ORB Address of object rights block DDB Address of device data block DDT Address of driver dispatch table CRB Address of channel request block SUD Address of supplementary VCB data SHAD Address of host-based shadowing data structure AMB Associated mailbox UCB pointer IRP Address of I/O request packet 2P_UCB Address of alternate UCB for dual-pathed device LNM Address of logical name block for mailbox PDT Address of port descriptor table CDDB Address of class driver descriptor block for MSCP served device 2P_CDDB Address of alternate CDDB for MSCP served device RWAITCNT Resource wait count for MSCP served device VCB Address of volume control block for mounted device 2P_DDB Address of secondary DDB VP_IRP Address of volume processing IRP MMB Address of merge management block CPYLOCK ID of copier lock VU_TO Virtual Unit Timeout (seconds) VU_UCB UCB address of Virtual Unit MPDEV Address of multipath data structure PRIMARY_UCB UCB address for primary path CURRENT_UCB UCB address for current path If you are examining a driver-related system failure, you may find it helpful to issue a SHOW STACK command after the appropriate SHOW DEVICE command, to examine the stack for any of these symbols. Note, however, that although the SHOW DEVICE command defines those symbols relevant to the last device unit it has displayed, and redefines symbols relevant to any subsequently displayed device unit, it does not undefine symbols. (For instance, SHOW DEVICE DUA0 defines the symbol PDT, but SHOW DEVICE MBA0 does not undefine it, even though the PDT structure is not associated with a mailbox device.) To maintain the accuracy of such symbols that appear in the stack listing, use the DEFINE command to modify the symbol name. For example:
SDA> DEFINE DUA0_PDT PDT SDA> DEFINE MBA0_UCB UCBSee the descriptions of the READ and FORMAT commands for additional information on defining and examining the contents of device data structures.
#1 |
---|
SDA> SHOW DEVICE/ADDRESS=8041E540 OPA0 VT300_Series UCB address 8041E540 Device status: 00000010 online Characteristics: 0C040007 rec,ccl,trm,avl,idv,odv 00000200 nnm Owner UIC [000001 ,000004] Operation count 160 ORB address 8041E4E8 PID 00010008 Error count 0 DDB address 8041E3F8 Class/Type 42/70 Reference count 2 DDT address 8041E438 Def. buf. size 80 BOFF 00000001 CRB address 8041E740 DEVDEPEND 180093A0 Byte count 0000012C I/O wait queue 8041E5AC DEVDEPND2 FB101000 SVAPTE 80537B80 DEVDEPND3 00000000 DEVSTS 00000001 FLCK index 3A DLCK address 8041E880 *** I/O request queue is empty *** |
This example reproduces the SHOW DEVICE display for a single device unit, OPA0. Whereas this display lists information from the UCB for OPA0, including some addresses of key data structures and a list of pending I/O requests for the unit, it does not display information about the controller or its device driver. To display the latter information, specify the device-name as OPA (for example, SHOW DEVICE OPA).
#2 |
---|
SDA> SHOW DEVICE DU I/O data structures ------------------- DDB list -------- Address Controller ACP Driver DPT ------- ---------- -------- ------------ --- 80D0B3C0 BLUES$DUA F11XQP SYS$DKDRIVER 807735B0 8000B2B8 RED$DUA F11XQP SYS$DKDRIVER 807735B0 80D08BA0 BIGTOP$DUA F11XQP SYS$DKDRIVER 807735B0 80D08AE0 TIMEIN$DUA F11XQP SYS$DKDRIVER 807735B0 . . . Press RETURN for more. . . . |
This excerpt from the output of the SHOW DEVICE DU command illustrates the format of the DDB list. In this case, the DDB list concerns itself with those devices whose device type begins with DU. It displays devices of these types attached to various HSCs (RED$ and BLUES$) and systems in a cluster (BIGTOP$ and TIMEIN$).
Displays formatted information from the header, error log buffers, logical memory blocks (LMBs), memory map, compression data, and a summary of the dump. Also displays hexadecimal information of individual blocks.
SHOW DUMP [/ALL|/BLOCK[=m[{:|;}n]]
|/COMPRESSION_MAP[=m[:n[:p]]]
|/ERROR_LOGS|/HEADER
|/LMB[={ALL|n}]|/SUMMARY
|/MEMORY_MAP]
None.
/ALL
Displays the equivalent to specifying all the /SUMMARY, /HEADER, /ERROR_LOGS, /COMPRESSION_MAP, /LMB=ALL, and /MEMORY_MAP qualifiers./BLOCK[=m[{:|;}n]]
Displays a hexadecimal dump of one or more blocks. You can specify ranges by using the following syntax:
no value Displays next block m Displays single block m:n Displays a range of blocks from m to n, inclusive m;n Displays a range of blocks starting at m and continuing for n blocks /COMPRESSION_MAP[=m[:n[:p]]]
In a compressed dump, displays details of the compression data. You can specify levels of detail by using the following syntax, where m,n,p may each be wildcarded (*):
no value Displays a summary of all compression map blocks. m Displays contents of a single compression map block. m:n Displays details of single compression map entry. m:n:p Displays compressed and raw data for the specified compression section. Note that m:n:p may contain wildcards (*). /ERROR_LOGS
Displays a summary of the error log buffers./HEADER
Displays the formatted contents of the dump header./LMB[={ALL|n}]
In a selective dump, displays the formatted contents of logical memory block (LMB) headers and the virtual address (VA) ranges within the LMB. You can express LMBs to be displayed by using the following syntax:
no value Displays next LMB n Displays LMB at block n of the dump ALL Displays all LMBs /MEMORY_MAP
In a full dump, displays the contents of the memory map./SUMMARY
Displays a summary of the dump. This is the default.
The SHOW DUMP command displays information about the structure of the dump file. It displays the header, the error log buffers, and, if appropriate, the compression map, the logical memory block (LMB) headers, and the memory map. Use this command when troubleshooting dump analysis problems.
#1 |
---|
SDA> SHOW DUMP/SUMMARY Summary of dump file DKA300:[SYS0.SYSEXE]SYSDUMP.DMP;8 ------------------------------------------------------ Dump type: Compressed selective Size of dump file: 000203A0/000203A0 (132000./132000.) Highest VBN written: 0000D407 (54279.) Uncompressed equivalent: 0001AF1C (110364.) Compression ratio: 2.03:1 (49.2%) Uncomp Uncomp Dump file section VBN Blocks VBN blocks ---------------------------------------------- ---------- -------- ------- -------- Dump header 00000001 00000002 Error log buffers 00000003 00000020 Compression map 00000023 00000010 LMB 0000 (PT space) 00000033 00000038 00000033 000000D2 LMB 0001 (S0/S1 space) 0000006B 0000621B 00000105 000095A5 LMB 0002 (S2 space) 00006286 000001A3 000096AA 00000352 LMB 0003 (Page tables of key process "SYSTEM") 00006429 00000005 000099FC 00000062 LMB 0004 (Memory of key process "SYSTEM") 0000642E 00000071 00009A5E 00000342 . . . LMB 0003 (Page tables of key process "NETACP") 0000697B 00000009 0000AE14 00000052 LMB 0004 (Memory of key process "NETACP") 00006984 000013F7 0000AE66 00001F42 LMB 0005 (Key global pages) 00007D7B 000002BA 0000CDA8 00000312 LMB 0006 (Page tables of process "DTWM") 00008035 00000013 0000D0BA 00000082 LMB 0007 (Memory of process "DTWM") 00008048 000013A3 0000D13C 000022E4 . . . LMB 0006 (Page tables of process "Milord_FTA1:") 0000C5E3 00000005 00019A44 00000062 LMB 0007 (Memory of process "Milord_FTA1:") 0000C5E8 00000074 00019AA6 00000222 LMB 0008 (Remaining global pages) 0000C65C 00000DAC 00019CC8 00001255 |
This example of the SHOW DUMP/SUMMARY command gives a summary of a selective dump.
#2 |
---|
SDA> SHOW DUMP/HEADER Dump header ----------- Header field Meaning Value -------------------- --------------------------------------- ----------------- DMP$W_FLAGS Flags 0FC1 DMP$V_OLDDUMP: Dump has been analyzed DMP$V_WRITECOMP: Dump write was completed DMP$V_ERRLOGCOMP: Error log buffers written DMP$V_DUMP_STYLE: Selective dump Verbose messages Dump off system disk Compressed DMP$B_FLAGS2 Additional flags 09 DMP$V_COMPRESSED: Dump is compressed DMP$V_ALPHADUMP: This is an OpenVMS Alpha dump DMP$Q_SYSIDENT System version "X69G-FT1" DMP$Q_LINKTIME Base image link date/time " 8-JUN-1996 02:07:27.31" DMP$L_SYSVER Base image version 03000000 DMP$W_DUMPVER Dump version 0704 DMP$L_DUMPBLOCKCNT Count of blocks dumped for memory 0000D3D5 DMP$L_NOCOMPBLOCKCNT Uncompressed blocks dumped for memory 0001AEEA DMP$L_SAVEPRCCNT Number of processes saved 00000014 . . . EMB$Q_CR_TIME Crash date/time " 3-JUL-1996 09:30:13.36" EMB$L_CR_CODE Bugcheck code "SSRVEXCEPT" EMB$B_CR_SCS_NAME Node name "SWPCTX " EMB$T_CR_HW_NAME Model name "DEC 3000 Model 400" EMB$T_CR_LNAME Process name "SYSTEM" DMP$L_CHECKSUM Dump header checksum 439E5E91 |
This example of the SHOW DUMP/HEADER command shows the information in the header.
Displays the contents of the exception frame at the given address or searches to display a one-line summary of all exception frames found on all applicable stacks.
SHOW EXCEPTION_FRAME {address|[/SUMMARY] [range]}
address
Address of the exception frame.range
Range of addresses specifiable as start:end or start;length.
/SUMMARY (D)
- The /SUMMARY qualifier is the default.
- SHOW EXCEPTION and SHOW EXCEPTION range imply /SUMMARY.
- If a range, either start:end or start;length, is given, then that range is searched instead of the stacks.
Displays the contents of the exception frame at the given address (which is rounded down to an octaword-aligned address), or searches to display a one-line summary of all exception frames found on all applicable stacks.
Under some circumstances, the exception frame of the actual bugcheck is copied (by BUGCHECK) to the system stack for the CPU. Since this stack is also searched, multiple hits may occur for this exception frame.
On Alpha, the search for exception frames relies on valid processor status (PS) values in the PS offset from each possible 64-byte-aligned start address for an exception frame. Since only some of the bits in the PS can be validated, there may be frames displayed that are not exception frames (false positives). Do not assume that each frame displayed is actually an exception frame without further investigation.
On I64, the search for exception frames is focused on the type/subtype offsets from each possible octaword-aligned start address for an exception frame. Thus, it is likely that frames displayed are exception frames.
SDA> show exception Exception Frame Summary ----------------------- Exception Frame Type Stack IIP / Ret_Addr Trap_Type / Code_Address ----------------- ---- ----- ----------------- ------------------- 00000000.7FF43BD0 INTSTK Kernel 00000000.00020150 00000008 Access control violation fault 00000000.7FF43F40 SSENTRY Kernel 00000000.000200B0 806958B0 PROCESS_MANAGEMENT+658B0 FFFFFFFF.872DFD00 INTSTK System FFFFFFFF.804D0980 00000041 Bugcheck Breakpoint Trap |
The SHOW EXCEPTION_FRAME command example displays the summary.
Examples of the display of the contents of an exception frame are available in the SHOW CRASH description.
Previous | Next | Contents | Index |