Writing Real Programs in DCL, Second Edition

Chapter 12: Debugging

Overview

THE TASK OF PROGRAM DEBUGGING is an integral part of developing DCL applications, just as it is with every programming project. Unfortunately, the comprehensive collection of OpenVMS debugging facilities is of no help to the DCL programmer. There is no symbolic debugger, no backtrace upon program failure, and no program analysis tools. You are forced to use "oldfashioned" debugging techniques, such as printing the values of variables at critical points in the program.

DCL does have one advantage over most other programming languages. Because it is strictly interpreted, the edit/compile/link/test cycle is simplified to an edit/test cycle. Making simple modifications to a procedure so it will display debugging information is not particularly painful, because you do not have to wait for a compile and link. The following sections describe the various techniques for debugging DCL procedures.

12.1 Verification

Procedure verification is the most powerful debugging tool available to the DCL programmer. There are two types of verification, each of which can be independently enabled or disabled:

Procedure verification When this is enabled, DCL displays each command line in the procedure as it is executed. The command line is displayed after apostrophe and personal command substitution is performed.

Image verification When this is enabled, DCL displays each image data line as it is read by an executing image. Image data is program input data that appears directly in a command procedure.

When verification is enabled, command and data lines are displayed at the terminal (specifically, to

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Integrated Development Environment (IDE)
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.