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.