This document, titled "VAX-11 PL/I Guide to Program Debugging" (Order No. AA-K221A-TE), published by Digital Equipment Corporation in August 1980, serves as a comprehensive manual for debugging VAX-11 PL/I (Version 1.0) programs on the VAX/VMS (Version 2.0) operating system.
Intended Audience: Programmers using VAX-11 PL/I, with a working knowledge of PL/I program structure, data types, and the VAX/VMS operating system.
Key Content:
The guide describes the facilities and operation of the VAX-11 Symbolic Debugger with PL/I programs, covering:
- Introduction to Debugging: Provides an overview of the debugger's interactive capabilities, its understanding of PL/I variable names and data types, and its multi-language support. It also details how to initiate and terminate debugging sessions, the syntax of debugger commands, and the effects of compiler optimization.
- Recognition of Names: Explains how the debugger's symbol table works, including how it identifies and allows referencing of internal/external variables, global symbols, program locations (line numbers, procedure names), and custom-defined symbolic addresses. It also covers managing scope and special characters used in expressions.
- Examining and Depositing Data: Describes the use of EXAMINE and DEPOSIT commands to display and modify the contents of variables and memory locations. It addresses specific considerations and restrictions for various PL/I data types, including fixed-point binary/decimal, floating-point, character-string, bit-string variables, and static/automatic arrays.
- Controlling Program Execution: Details commands for starting and stopping program execution, stepping through code line by line or instruction by instruction, and setting control points such as breakpoints (to suspend execution), tracepoints (to display execution flow), and watchpoints (to monitor variable modifications). It also covers stepping into/over subroutines, displaying call sequences, and invoking subroutines during a debugging session.
- Appendix: Lists VAX-11 PL/I run-time modules and their entry points.
The manual aims to enable programmers to effectively locate and correct syntactic, run-time, and logic errors in their VAX-11 PL/I applications.