This chapter presents an overview of the following system dump analysis tools and features:
|To do the following:||Use this utility:||Described in:|
|Analyze a running system.||SDA||Chapter 2, SDA Description|
|Analyze a dump file.||SDA||Chapter 2, SDA Description|
|Automate the analysis of crash dumps and maintain a fatal-bugcheck history.||CLUE||Chapter 5, SDA CLUE Extension|
|Debug nonpagable system code and device drivers running at any IPL.||SCD||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.||SDD||Chapter 12, OpenVMS System Dump Debugger|
|Maintain a history of modifications made to a specific location in shared memory on an Alpha system.||WP||Chapter 13, Watchpoint Utility (Alpha Only)|
|Monitor execution of user programs and OpenVMS running at IPL 0.||Delta Debugger||Section 1.6, Delta/XDelta Debugger|
|Debug system code that runs early in booting or when there is no Ethernet adapter dedicated to SCD.||Xdelta Debugger||Section 1.6, Delta/XDelta Debugger|
|Write the system dump file to a device other than the system disk.||DOSD||Section 1.7, Dump-Off-System-Disk (DOSD)|
|Characterize spinlock usage and collect per-CPU spinlock performance data.||SPL||Chapter 8, SDA SPL Extension|
|Display XFC data structures and statistics to help tune the extended file cache.||XFC||Chapter 9, SDA XFC Extension|
|Extend the functionality of SDA.||SDA Extension Callable Routines||Chapter 10, SDA Extensions and Callable Routines|
|Log system services.||SSLOG||Chapter 14, System Service Logging|
|Determine which instructions have executed in a specific Alpha EV7 CPU.||OCLA||Chapter 7, SDA OCLA Extension (Alpha Only)|
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 interrupt 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.
See Part 2 for complete information about SCD.
1.3 System Dump Debugger (SDD)
The OpenVMS 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.
See Part 2 for complete information about SDD.
1.4 Watchpoint Utility (Alpha Only)
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.
See Part 3 for complete information about the Watchpoint utility.
1.5 System Service Logging
To log system services, use the System Service Logging (SSLOG) Utility.
For additional information, see Chapter 14, System Service Logging.
1.6 Delta/XDelta Debugger
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.
You use OpenVMS 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 7, SDA OCLA Extension (Alpha Only).