Specifications
11
Debugging a Device Driver
The OpenVMS Delta and XDelta Debuggers (DELTA/XDELTA) and the OpenVMS
AXP System-Code Debugger (system-code debugger) are tools you can use to
debug device drivers. This chapter briefly describes DELTA/XDELTA, and it
explains how to use the system-code debugger.
11.1 Using the Delta/XDelta Debugger
The OpenVMS Delta/XDelta Debugger (DELTA/XDELTA) is a primitive debugger.
It is used to debug code that cannot be debugged with the symbolic debugger, that
is, any code that executes at interrupt priority levels (IPLs) above IPL0 or any
code that executes in supervisor, executive, or kernel mode. Examples include
user-written device drivers and the OpenVMS operating system.
Almost all the commands available on DELTA are also available on XDELTA.
Furthermore, both DELTA and XDELTA use the same expressions. However,
they are different in two ways: you use them to debug different kinds of code,
and you invoke and exit from them in different ways.
You can use DELTA to debug programs that execute at IPL0 in any processor
mode (user, supervisor, executive, and kernel). You can also debug user-mode
programs with DELTA, but the OpenVMS Debugger is more suitable. 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.
You can use XDELTA to debug programs that execute in any processor mode and
at any IPL. To use XDELTA, you must have system privileges, and you must
include XDELTA when you boot the system.
You can use DELTA/XDELTA commands to perform the following debugging
tasks:
• Open, display, and change the value of a particular location
• Set, clear, and display breakpoints
• Set display modes in byte, word, longword, or ASCII
• Display instructions
• Execute the program in a single step with the option to step over a subroutine
• Set base registers
• List the names and locations of all loaded modules of the executive
• Map an address to an executive module
11–1










