Difference between revisions of "DEBUG"

From Recital Documentation Wiki
Jump to: navigation, search
Line 1: Line 1:
==Class==
 
Error Handling and Debugging
 
 
 
 
==Purpose==
 
==Purpose==
 
Monitor programs during execution
 
Monitor programs during execution

Revision as of 10:54, 23 October 2009

Purpose

Monitor programs during execution


Syntax

DEBUG <program | procedure> [WITH <parameter-list>]


See Also

CANCEL, DISPLAY BREAKPOINT, DISPLAY CALLS, DISPLAY MEMORY, DISPLAY STATUS, DISPLAY WATCHPOINT, DO, LIST BREAKPOINT, LIST CALLS, LIST WATCHPOINT, QUIT, RESUME, SET COMPILE, SET DEVELOPMENT, SET HISTORY, SET STEP, SUSPEND


Description

The DEBUG command displays a pop-up debugger allowing the specified program to be monitored during execution.

The debugger consists of four lines of information about the current program and eighteen push buttons. Program information consists of the following lines:


OPERATION Displays one of the following DEBUG operations: STEP, BREAKPOINT or WATCHPOINT.
PROGRAM Displays the name of the current procedure or program.
LINE# Displays the current line number.
COMMAND Displays the next program line to be executed.


The eighteen push buttons are used to access information about the current environment and to specify memory variables and conditions to monitor during program execution. The pop-up debugger provides the following push buttons:


BUTTON EFFECT
Step Step through a line at a time.
Suspend Suspend the program to go to the interactive prompt, RESUME to restart.
Cancel Cancel program execution and create error.mem.
Memory Display currently declared memory variables.
Status Display currently open tables (and their indexes, current record, etc.).
Calls Show program/procedure call stack.
Watch Set a watch point. When Executing the program, execution will stop when the specified memory variable's value changes.
Break Set a break point. When Executing the program, execution will stop when the specified condition becomes true.
History Show command history trace.
Execute Run program without stepping until watch point or break point reached.
Wpclear Clear all watch points.
Bpclear Clear all break points.
Bpmark Mark the current line as a break point.
Bpdrop Clear a particular break point.
Wpdrop Clear a particular watch point.
Bpshow Show all break points.
Wpshow Show all watch points.
Quit Exit the program and debugger.


Use the [UP], [DOWN], [LEFT], and [RIGHT] arrow keys to navigate the push buttons, and press the [RETURN] key to select a button. You may also type the accelerator key to select a button. The accelerator keys are the highlighted letters in the label of each push button.

Debugger directives can also be hard-coded into program files. These are ignored in normal program execution but activated when the program runs in debug mode Debug mode is in effect when the program is called with the DEBUG command or when SET STEP is ON. Directives start with a '//' comment prefix followed by a space, the DEBUG command, a colon (':'), and the condition. The following debugger directives are available:


DIRECTIVE EFFECT
// DEBUG:BREAKPOINT Acts as if a break point has been hit when it is encountered.
// DEBUG:BREAKPOINT:<expL> Acts as if a break point has been hit when <expL> evaluates to .T. (True).
// DEBUG:WATCHPOINT:<memvar> Sets a watch point on the specified memory variable.


Debugger directives can also be used when programs are run via the Recital Database and Mirage Servers.


Example

debug main


Products

Recital Database Server, Recital Mirage Server, Recital Terminal Developer