Programming Productivity Tools
C.3 Ladebug Debugger (Tru64 UNIX)
23. Resume execution with the
cont
command. TESTA executes its final display.
The debugger regains control when STOP RUN executes.
(ladebug) cont
03 CHARACTERS
Thread has finished executing
24. At this point you end the session with the
q
command.
(ladebug) q
♦
C.4 OpenVMS Debugger (OpenVMS)
This section provides an introduction to using the OpenVMS debugger with
Compaq COBOL programs. It includes the following:
• A description of OpenVMS debugger support for Compaq COBOL
• A note about using both the /DEBUG and /NOOPTIMIZE qualifiers when you
compile images for debugging
• A sample debugging session that demonstrates using the debugger
For complete reference information on the OpenVMS debugger, see the
OpenVMS Debugger Manual in the OpenVMS documentation set. Online
help is immediately available to you during a debugging session when you type
the HELP command at the debugger prompt (DBG>).
C.4.1 Notes on Compaq COBOL Support
In general, the OpenVMS debugger supports the data types and operators of
Compaq COBOL and other debugger-supported languages. However, there are
important language-specific limitations. (To get information about the supported
data types and operators for a language, type the HELP LANGUAGE command
at the DBG\> prompt.)
The debugger shows source text included in a program with the COBOL COPY
file statement or the COPY module of library statement. However, the debugger
does not show text which was created with the COPY REPLACING or REPLACE
statement, or included by the COPY text FROM DICTIONARY statement.
The debugger cannot show the original source lines associated with the code for a
REPORT section. You can see the DATA SECTION source lines associated with a
report, but no source lines are associated with the compiled code that generates
the report.
C.4.2 Notes on Debugging Optimized Programs
The Compaq COBOL compiler is a highly optimizing compiler. Several of the
optimizations it performs, such as instruction scheduling and label deletion, can
cause unexpected behavior in the OpenVMS Debugger.
Instruction scheduling can make the debugger appear to execute statements out
of order. A single COBOL source statement can often result in several machine
instructions. A RISC architecture machine, like the Alpha processor, can start
working on a new instruction every machine cycle, but not all instructions can
complete within one machine cycle. If the output from one machine instruction
is used as the input to a subsequent machine instruction, the machine cannot
begin processing the second instruction until it has finished processing the first.
In many cases an entirely separate instruction can execute in parallel with the
first instruction to perform a related computation.
C–8 Programming Productivity Tools