250 likes | 441 Views
Visual Basic Debugging Tools. Appendix D. Outline. Debugging strategies Error Types Compile, Run-Time and Logical errors VB Debugger Breakpoints, watches and stepping through Error Trapping Common Errors. Debugging. Errors in a program are called bugs
E N D
Visual Basic Debugging Tools Appendix D Dr. Monther Aldwairi
Outline • Debugging strategies • Error Types • Compile, Run-Time and Logical errors • VB Debugger • Breakpoints, watches and stepping through • Error Trapping • Common Errors Dr. Monther Aldwairi
Debugging • Errors in a program are called bugs • The process of finding and correcting them is called debugging • Debugging aims at eliminating or reducing the number of bugs in a program, thus making it behave as expected. Dr. Monther Aldwairi
Debugging strategies • Tracing • Putting print statement in the code to verify flow and variable values during execution • Remove print statements after the error is detected • Logfile • Text file to which a debugging trace is written • Debuggers read the log file (GDB for example) • Error Trapping and Handling • Used to trap fatal errors Dr. Monther Aldwairi
Preferable Debug Method • Use a debugger! • Allows you to pause during execution in order to view or alter variables • Setting breakpoints (to suspend program execution) • Defining watch values (to see current value of variables • Stepping into a program (executing one instruction at a time) Dr. Monther Aldwairi
Error Types • Compiler Errors • Syntactic, or compilation, errors occur when VB commands are written improperly. • Run-time errors • An application attempts to perform an action that the system cannot execute • Logical errors • Caused by faulty program logic. Dr. Monther Aldwairi
Compiler Errors • Visual Basic compiler errors occur when the compiler encounters problems in the code. • A pop up windows is displayed Dr. Monther Aldwairi
Run-time Errors • Visual Basic run-time errors occur when an application attempts to perform an action that the system cannot execute. Dr. Monther Aldwairi
Logical Errors • The program compiles and runs fine • The program does not give the expected output • General debugging strategy: • Place breakpoint near (preferably, slightly ahead) of suspected error source. • Execute program in normal fashion, until breakpoint is encountered. • Define one or more watch values and step through the program, one instruction at a time. • Follow watch values to identify location, and possibly, source, of error. Dr. Monther Aldwairi
Program Modes • Design • Place controls on the form, set properties and write code • Run (F5 or Start) • Break • Invoked automatically when run-time errors are encountered • By clicking the break button or Ctrl-Break Dr. Monther Aldwairi
Debugging Status Indicators Dr. Monther Aldwairi
Debug Menu Dr. Monther Aldwairi
Breakpoints • Select statement, or click anywhere within statement, and set breakpoint: • Select Toggle Breakpoint from the Debug menu, or • Click on the Toggle Breakpoint button within the Debug toolbar, or • Press function key F9. • A dark red point to the left of a statement indicates the existence of a breakpoint. • The break in the program occurs just before the selected statement is executed. Dr. Monther Aldwairi
Breakpoints • To remove breakpoint use one of the three possibilities listed earlier to set a breakpoint. • To remove all break points select Clear All Breakpoints from the Debug menu, or use Ctrl-Shift-F9 • Temporary breakpoint: click within a statement, select Run to Cursor from the Debug menu, or use Ctrl-F8. Dr. Monther Aldwairi
Defining watch values • Watch values are the current values of variables or expressions • There are two types of watch values: • Ordinary watch values: remain active as you step through the program • Break watches: The cause a break when True or when the values changes Dr. Monther Aldwairi
To define watch values • Select Add Watch, from the Debug menu, and enter information in the Add Watch dialog box. • Right-click on the Watches window, select Add Watch. • Highlight an expression in the Code Editor window, and select Add Watch, from the Debug menu. • Highlight an expression in the Code Editor window. Then, right-click and select Add Watch. • Shift+F9 for quick watches Dr. Monther Aldwairi
Adding Watches Dr. Monther Aldwairi
Stepping through a program • Three different types of stepping: • Step Into results in line-by-line stepping of current procedure and subordinated procedures. • Step Over results in line-by-line stepping of current procedure, bypassing subordinated procedures. • Step Out results in execution of all remaining statements within the current procedure, and then pauses at the first statement following the procedure access in the parent routine. • Note procedures will be discussed later in CH4 Dr. Monther Aldwairi
Stepping through a program • To carry out line-by-line stepping do one of the following: • Select Step Into(or Step Over, Step Out) from the Debug menu • Press F8 to Step Into, Shift+F8 to Step Over, Ctrl+Shift+F8 to Step Out • Click on the Step Into button (or Step Over or Step Out button) on the Debug toolbar Dr. Monther Aldwairi
Error Trapping • We will teach you later in Chapter 8 how to trap and handle fatal errors Dr. Monther Aldwairi
Common Error Types Dr. Monther Aldwairi
Compile Errors Examples Dr. Monther Aldwairi
Run Time Errors Dr. Monther Aldwairi