HP OpenVMS systems
Order Number: AA--REZTE--TE
This manual explains how to use various Alpha and I64 system analysis tools to investigate system failures and examine a running Hewlett-Packard OpenVMS system.
Revision/Update Information: This manual supersedes the HP OpenVMS System Analysis Tools Manual, Version 7.3-1.
OpenVMS Alpha Version 8.2
OpenVMS I64 Version 8.2
Palo Alto, California
© 2005 Hewlett-Packard Development Company, L.P.
Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license.
The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.
Intel and Itanium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
Printed in the US
The HP OpenVMS documentation set is available on CD-ROM.
This document was prepared using DECdocument, Version V3.3-1e.
The HP OpenVMS System Analysis Tools Manual is intended primarily for the system programmer or analyst who must investigate the causes of system failures and debug kernel-mode code, such as a device driver.
This manual also includes system management information for maintaining the system resources necessary to capture and store system crash dumps, including the use of dump-off-system-disk (DOSD). To help determine the cause of a hung process or improve system performance, consult this manual for instructions on using the appropriate system analysis tool to analyze your system.
This HP OpenVMS System Analysis Tools Manual contains an introductory chapter and four parts.
Chapter 1 presents an overview of the system analysis tools, which are:
Part I describes the System Dump Analyzer (SDA), its use and commands, the SDA Crash Log Utility Extractor (CLUE), the On-Chip Logic Analyzer (OCLA), and several SDA extensions: Spinlock Tracing (SPL), SDA Extended File Cache (XFC), and SDA callable routines.
Part II describes the System Code Debugger (SCD) and the Alpha System Dump Debugger (SDD).
Part III describes the Alpha Watchpoint Utility (WP).
Part IV describes the System Service Logging Utility (SSLOG).
For additional information, refer to the following documents:
For additional information about HP OpenVMS products and services, visit the following World Wide Web address:
HP welcomes your comments on this manual. Please send comments to either of the following addresses:
OSSG Documentation Group, ZKO3-4/U08
110 Spit Brook Rd.
Nashua, NH 03062-2698
For information about how to order additional documentation, visit the following World Wide Web address:
In this manual, any reference to OpenVMS is synonymous with HP OpenVMS.
VMScluster systems are referred to as OpenVMS Cluster systems. Unless otherwise specified, references to OpenVMS Clusters or clusters in this document are synonymous with VMSclusters.
The following conventions are used in this manual:
|A sequence such as Ctrl/ x indicates that you must hold down the key labeled Ctrl while you press another key or a pointing device button.
|A sequence such as PF1 x indicates that you must first press and release the key labeled PF1 and then press and release another key or a pointing device button.
In examples, a key name enclosed in a box indicates that you press a
key on the keyboard. (In text, a key name is not enclosed in a box.)
In the HTML version of this document, this convention appears as brackets, rather than a box.
A horizontal ellipsis in examples indicates one of the following
|A vertical ellipsis indicates the omission of items from a code example or command format; the items are omitted because they are not important to the topic being discussed.
|In command format descriptions, parentheses indicate that you must enclose choices in parentheses if you specify more than one.
|In command format descriptions, brackets indicate optional choices. You can choose one or more items or no items. Do not type the brackets on the command line. However, you must include the brackets in the syntax for OpenVMS directory specifications and for a substring specification in an assignment statement.
|In command format descriptions, vertical bars separate choices within brackets or braces. Within brackets, the choices are optional; within braces, at least one choice is required. Do not type the vertical bars on the command line.
|In command format descriptions, braces indicate required choices; you must choose at least one of the items listed. Do not type the braces on the command line.
|Bold type represents the introduction of a new term. It also represents the name of an argument, an attribute, or a reason.
|Italic type indicates important information, complete titles of manuals, or variables. Variables include information that varies in system output (Internal error number), in command lines (/PRODUCER= name), and in command parameters in text (where dd represents the predefined code for the device type).
|Uppercase type indicates a command, the name of a routine, the name of a file, or the abbreviation for a system privilege.
|This typeface indicates code examples, command examples, and interactive screen displays. In text, this type also identifies URLs, UNIX commands and pathnames, PC-based commands and folders, and certain elements of the C programming language.
|A hyphen at the end of a command format description, command line, or code line indicates that the command or statement continues on the following line.
|All numbers in text are assumed to be decimal unless otherwise noted. Nondecimal radixes---binary, octal, or hexadecimal---are explicitly indicated.
|Hat followed by a letter represents an SDA operator. For additional information, see Table 2-3, SDA Operators.
This chapter presents an overview of the following system dump analysis tools and features:
|To do the following:
|Use this utility:
|Analyze a running system.
|Chapter 2, SDA Description
|Analyze a dump file.
|Chapter 2, SDA Description
|Automate the analysis of crash dumps and maintain a fatal-bugcheck history.
|Chapter 5, SDA CLUE Extension
|Debug nonpagable system code and device drivers running at any IPL.
|Chapter 11, OpenVMS System Code Debugger
|Analyze certain system dumps, display source code, variables or registers in use at the time of a system failure.
|Chapter 12, OpenVMS Alpha System Dump Debugger
|Maintain a history of modifications made to a specific location in shared memory on an Alpha system.
|Chapter 13, The Alpha Watchpoint Utility
|Monitor execution of user programs and OpenVMS Alpha running at IPL0.
|Section 1.6, Delta/XDelta Debugger
|Debug system code that runs early in booting or when there is no Ethernet adapter dedicated to SCD.
|Section 1.6, Delta/XDelta Debugger
|Write the system dump file to a device other than the system disk.
|Section 1.7, Dump-Off-System-Disk (DOSD)
|Characterize spinlock usage and collect per-CPU spinlock performance data.
|Chapter 8, SDA Spinlock Tracing Utility (SPL)
|Display XFC data structures and statistics to help tune the extended file cache.
|Chapter 9, SDA Extended File Cache Extension (XFC)
|Extend the functionality of SDA.
|SDA Extension Callable Routines
|Chapter 10, SDA Callable Routines Extension
|Log system services.
|Chapter 14, System Service Logging
|Determine which instructions have executed in a specific Alpha EV7 CPU.
|Chapter 6, SDA Alpha OCLA
The OpenVMS system dump analyzer (SDA) utility enables you to analyze a running system or a system dump after a system failure occurs. With a system failure, the operating system copies the contents of memory to a system dump file or the primary page file. Additionally, it records the hardware context of each processor. With SDA, you can interpret the contents of the dump file, examine the status of each processor at the time of the system failure, and investigate possible causes of failure.
See Part 1 for more complete information about SDA, SDA CLUE
(Crash Log Utility Extractor), SPL (Spinlock Tracing Utility), other
SDA extensions, and the SDA Extension routines.
1.2 System Code Debugger (SCD)
The OpenVMS System Code Debugger (SCD) allows you to debug nonpageable system code and device drivers running at any interupt priority level (IPL). You can use the SCD to perform the following tasks:
SCD is a symbolic debugger. You can specify variable names, routine names, and so on, precisely as they appear in your source code.
SCD recognizes the syntax, data typing, operators, expressions, scoping rules, and other constructs of a given language. If your code or driver is written in more than one language, you can change the debugging context from one language to another during a debugging session.
The OpenVMS Alpha System Dump Debugger allows you to analyze certain system dumps using the commands and semantics of SCD. You can use SDD to perform the following tasks:
SDD is a symbolic debugger. You can specify variable names, routine names, and so on, precisely as they appear in your source code.
SDD recognizes the syntax, data typing, operators, expressions, scoping rules, and other constructs of a given language. If your code or driver is written in more than one language, you can change the debugging context from one language to another during a debugging session.
The OpenVMS Watchpoint utility allows you to maintain a history of modifications that are made to a particular location in shared system space. It sets watchpoints on 32-bit and 64-bit addresses, and watches any system addresses whether in S0, S1, or S2 space.
The OpenVMS Delta/XDelta debugger allows you to monitor the execution of user programs and the OpenVMS operating system. The Delta/XDelta debuggers both use the same commands and expressions, but they are different in how they operate. Delta operates as an exception handler in a process context; whereas XDelta is invoked directly from the hardware system control block (SCB) vector in a system context.
OpenVMS Delta runs only on OpenVMS Alpha systems.
You use OpenVMS Alpha Delta instead of the OpenVMS symbolic debugger to debug programs that run in privileged processor mode at interrupt priority level (IPL) 0. Because Delta operates in a process context, you can use it to debug user-mode programs or programs that execute at interrupt priority level (IPL) 0 in any processor mode---user, supervisor, executive, and kernel. To run Delta in a processor mode other than user mode, your process must have the privilege that allows Delta to change to that mode: change-mode-to-executive (CMEXEC), or change-mode-to-kernel (CMKRNL) privilege. You cannot use Delta to debug code that executes at an elevated IPL. To debug with Delta, you invoke it from within your process by specifying it as the debugger instead of the symbolic debugger.
You use OpenVMS XDelta instead of the System Code Debugger when debugging system code that runs early in booting or when there is no Ethernet adapter that can be dedicated to SCD. Because XDelta is invoked directly from the hardware system control block (SCB), it can be used to debug programs executing in any processor mode or at any IPL level. To use XDelta, you must have system privileges, and you must include XDelta when you boot the system. Since XDelta is not process specific, it is not invoked from a process. To debug with XDelta, you must boot the system with a command to include XDelta in memory. XDelta's existence terminates when you reboot the system without XDelta.
On OpenVMS systems, XDelta supports 64-bit addressing. Quadword display mode displays full quadwords of information. The 64-bit address display mode accepts and displays all addresses as 64-bit quantities. XDelta has predefined command strings for displaying the contents of the page frame number (PFN) database.
You can use Delta/XDelta commands to perform the following debugging tasks:
See the HP OpenVMS Delta/XDelta Debugger Manual for complete information about using the
Delta/XDelta debugging utility.
1.7 Dump-Off-System-Disk (DOSD)
The OpenVMS system allows you to write the system dump file to a device other than the system disk. This is useful in large memory systems and in clusters with common system disks where sufficient disk space, on one disk, is not always available to support your dump file requirements. To perform this activity, you must correctly enable the DUMPSTYLE system parameter to allow the bugcheck code to write the system dump file to an alternative device.
See the HP OpenVMS System Manager's Manual, Volume 2: Tuning, Monitoring, and Complex Systems for complete information about how to write the
system dump file to a disk other than the system disk.
1.8 On-Chip Logic Analyzer (OCLA)
The Alpha EV7 On-chip Logic Analyzer utility (OCLA) enables a user to determine which instructions have executed on an Alpha EV7 CPU. One-seventh of the Alpha EV7 cache is set aside as acquisition memory where the virtual addresses of instructions executed by the Alpha EV7 CPU are stored. The acquisition memory can later by analyzed with SDA. For more information on OCLA, see Chapter 6, SDA Alpha OCLA .