Difference between revisions of "Debugging and Testing Techniques"

From Recital Documentation Wiki
Jump to: navigation, search
(Using the assert() function)
(Using the assert Command)
Line 2: Line 2:
 
===Using the debug() function===
 
===Using the debug() function===
 
===Using the assert Command===
 
===Using the assert Command===
The ASSERT command is used for program debugging purposes: to display a message dialog with options when a condition evaluates to False (.F.).  The condition is specified in <expL>.  An optional message can be specified using the MESSAGE <expC> clause.  If no message is specified; the default message is:
+
The [[ASSERT|assert]] command is used for program debugging purposes: to display a message dialog with options when a condition evaluates to False (.F.).   
  
 +
<pre>
 +
assert <condition as logical> [message <message as character>]
 +
</pre>
  
<pre>Assertion failed on line <&#035;> of
+
The message box has four buttons, offering the following options:
          procedure <prg>.</pre>
+
 
+
 
+
The dialog has four buttons, offering the following options:
+
  
  
Line 21: Line 20:
 
|Ignore||Continues program execution.
 
|Ignore||Continues program execution.
 
|-
 
|-
|Ignore All||Continues program execution and issue SET ASSERTS OFF, causing subsequent asserts to be ignored.
+
|Ignore All||Continues program execution and issue [[SET ASSERTS|set asserts off]], causing subsequent asserts to be ignored.
 
|-
 
|-
 
|}
 
|}
 
 
If [[SET ASSERTS|set asserts]] is off, the default, asserts are ignored.
 
  
 
===Dumping Variables to an External Text File===
 
===Dumping Variables to an External Text File===

Revision as of 10:06, 27 July 2010

Debugging and Testing Techniques

Using the debug() function

Using the assert Command

The assert command is used for program debugging purposes: to display a message dialog with options when a condition evaluates to False (.F.).

assert <condition as logical> [message <message as character>]

The message box has four buttons, offering the following options:


Button Option
Debug Suspends program execution and starts the Debugger. The Debug option is only available if the program is being run uncompiled.
Cancel Stops program execution.
Ignore Continues program execution.
Ignore All Continues program execution and issue set asserts off, causing subsequent asserts to be ignored.

Dumping Variables to an External Text File

Using the Workbench Debugger

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

debug <filename as character>

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.

Summary