1 / 24

Finding and Debugging Errors

Finding and Debugging Errors. Categories of Errors. Syntax errors are detected at compile time Use the Error List window to find these errors The debugging tools cannot help with syntax errors Runtime errors occur as an application executes

deana
Download Presentation

Finding and Debugging Errors

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Finding and Debugging Errors

  2. Categories of Errors • Syntaxerrors are detected at compile time • Use the Error List window to find these errors • The debugging tools cannot help with syntax errors • Runtimeerrors occur as an application executes • Logicerrors cause an application to produce unexpected results but do not cause exceptions

  3. Types of Runtime Errors • File processing errors • Arithmetic errors • Null reference errors • And many more

  4. File Processing Errors • Sequential files with extra trailing carriage returns will generate errors • Sequential files with extra or missing fields will also cause errors • Omitting the carriage return on the last record may cause the last record to be ignored

  5. Arithmetic Errors (1) • Numeric overflow results in the following exception: • Correct by performing double precision arithmetic instead of integer arithmetic

  6. Arithmetic Errors (2) • Trying to convert an invalid value to a number will result in a System.FormatException • Call TryParse() to test before conversion

  7. Arithmetic Errors (3) • Integer division by zero throws a System.DivideByZeroException: • Fix by testing the dividend value

  8. Arithmetic Errors (4) • Division by zero is handled differently for floating point numbers and floating point division • Division by zero results in the value Infinity • Test using Double.IsInfinity(Value)

  9. Null Reference Errors (Introduction) • Pure and simple, you reference an object with first creating an instance of that object • The following exception is thrown

  10. Interrogating the Value of a Variable or Property • Do while the application is in break mode • In the Code Editor, highlight the variable, object, or property • Expand or collapse complex objects as necessary

  11. Interrogating the Value of a Variable or Property (Example)

  12. Setting Breakpoints (1) • Use to temporarily suspend execution while a program runs • Multiple breakpoints may be set • Breakpoints may be enabled or disabled • It’s possible to clear all breakpoints • Breakpoints are persistent between invocations of Visual Studio

  13. Setting Breakpoints (2) • Set simple breakpoints on a line by clicking in the left margin in the Code Editor • A maroon circle appears in the left margin • Breakpoints may be set only on executable statements because declaration statements don’t execute!

  14. Setting Breakpoints (3) • Breakpoints appear in the Breakpoints window

  15. Setting Conditional Breakpoints • Break when a condition becomes true or a value changes • Use for problems having long iteration counts

  16. Setting Hit Count Breakpoints • Break on an iteration count • Hit count breakpoints are configurable Break after 999 iterations

  17. Setting Conditional Breakpoints • Conditional breakpoints are hit when • The value of a Boolean condition is True • The value of a condition has changed

  18. Setting Conditional Breakpoints (Illustration) • Set a conditional breakpoint

  19. Setting WatchPoints • There are multiple Watch windows • Each works the same way • Just create an expression to be watched • Use Watchpoints instead of repeatedly typing the same expression in the Immediate window • Beware of setting too many Watchpoints – Execution will become quite slow

  20. Setting WatchPoints (Illustration) • Watch the variable “f”

  21. Other Debugging Windows (1) • The Autos window shows variables used in the current and previous statement

  22. Other Debugging Windows (2) • The Locals window displays variables local to the current context

  23. Other Debugging Windows (3) • Call stack shows the procedures and the order in which the procedures were called

  24. Exceptions • Use to change the handling of exceptions when they occur

More Related