Chapter 10 Tracing and Debugging

What’s in This Chapter

  • Breakpoints
  • The Watches and Autos windows
  • Breakpoint conditions, hit counts, and filters
  • Enabling and disabling breakpoints
  • Debug and trace listeners

Wrox.com Downloads for This Chapter

Please note that all the code examples for this chapter are available as a part of this chapter’s code download on the book’s website at www.wrox.com/go/csharp5programmersref on the Download Code tab.

Visual Studio’s code editor includes tools that help you avoid bugs. Some of the things the editor does to help you include

  • Providing IntelliSense to help you use methods and parameters correctly
  • Identifying variables that are used before initialization or that are declared but never used
  • Detecting unreachable code
  • Flagging methods with a non-void return type that don’t return a value on all code paths
  • Providing a renaming tool so that you can easily rename objects without missing references

Despite those tools, however, bugs are as certain in programming as death and taxes. Although it is theoretically possible for a program to be bug-free, chances are good that any nontrivial program contains bugs. Actually, in some testing strategies it’s an axiom that the program contains bugs. The goal is not to fix every bug but to fix so many of the bugs that those that remain occur extremely rarely.

Although this book is about the C# language and not Visual Studio, any reasonably complete C# book should provide some coverage of debugging tools ...

Get C# 5.0 Programmer's Reference now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.