Difference between revisions of "Debugging and Testing Techniques"
Yvonnemilne (Talk | contribs) (→Using the assert() function) |
Yvonnemilne (Talk | contribs) (→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 [[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> | ||
− | + | The message box has four buttons, offering the following options: | |
− | + | ||
− | + | ||
− | + | ||
− | The | + | |
Line 21: | Line 20: | ||
|Ignore||Continues program execution. | |Ignore||Continues program execution. | ||
|- | |- | ||
− | |Ignore All||Continues program execution and issue SET ASSERTS | + | |Ignore All||Continues program execution and issue [[SET ASSERTS|set asserts off]], causing subsequent asserts to be ignored. |
|- | |- | ||
|} | |} | ||
− | |||
− | |||
− | |||
===Dumping Variables to an External Text File=== | ===Dumping Variables to an External Text File=== |
Revision as of 10:06, 27 July 2010
Contents
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.