For today's programmers, it is impossible to foresee every input, every usage scenario, and every combination of applications that can cause errors when run simultaneously. Given all of these unknowns, writing absolutely bug-free code is unachievable. But it is possible, with the right knowledge, to produce nearly bug-free code and The Debugger's Handbook provides just the right guidance to do it.
Focused on the best practices for writing code as well as on the methods to perform more effective debugging, DiMarzio promotes a natural debugging approach to writing code. He begins by examining and concretely defining just what a bug is, what circumstances are more prone to producing bugs, and how to avoid them from the start. Rather than focusing on techniques for a specific programming language, this book offers guidance on the basic philosophies and practices that can minimize the appearance of bugs in any language. Extensive use of examples-with sample code given in VB, VB .NET, C++, and Java-reinforce a practical understanding of the concepts and offer ample opportunity to put them to use.
Working systematically through the programming steps encountered in practice, The Debugger's Handbook is the most versatile and practical guide available for minimizing errors, decreasing development time and costs, and making you a better programmer.
The History of Bugs
The Rise of the Modern Programmer
Dissecting a Bug: Definition
Review Questions
Looking Ahead
WRITING BUG-FREE CODE PART I: THE DESIGN PROCESS
Planning Your Bug-Free Project
Review Questions
Looking Ahead
BUG-FREE CODE PART II: THE CODING PROCESS
It Is All in the Comments
Comment Characters of Multiple Languages
Introductory Comments
Using .NET Regions
Coding Standards
Functions, Subroutines, and Methods
Reusable Code
Review Questions
Looking Ahead
THROWING CUSTOM EXCEPTIONS
Unstructured Error Handling
Structured Error Handling
Throwing Custom Errors
Review Questions
Looking Ahead
DESIGN TIME DEBUGGING
Benefits of Removing Bugs at Design Time
Debugging in Visual Studio 2003
Visual Basic Debug Mode Editing
Review Questions
Looking Ahead
DEBUGGING AND VISUAL STUDIO 2005
Debugging with the New Features in Visual Studio 2005
Design Time Debugging
Debugging
Review Questions
Looking Ahead
TESTING
When Is It Time to Test?
Setting Up the Test Environment
Choosing the Test Team
Finding Bugs
Review Questions
Looking Ahead
COMMENTING YOUR CODE WITH XML
XML Tags
Review Questions
Looking Ahead
REAL-WORLD SCENARIOS: OPENING FILES
Opening Files
Executing the Close Method in the Wrong Place
Other Syntactical/File Navigation Errors
REAL-WORLD SCENARIOS: READING FILES
Opening a File as the Incorrect Type
REAL-WORLD SCENARIOS: SAVING PROGRAM SETTINGS
REAL-WORLD SCENARIOS: WORKING WITH OBJECTS
Not Defining the Object Correctly
Not Being Able to See an Object from All Forms
REAL-WORLD SCENARIOS: EDITING THE REGISTRY
Using SaveSetting and GetSetting
REAL-WORLD SCENARIOS: WINDOWS TERMINATION FUNCTIONALITY
REAL-WORLD SCENARIOS: OPENING A DATABASE
Passing String Credentials
Obtaining Connection Settings from a .udl File
Using ODBC Connections
Closing a Database
REAL-WORLD SCENARIOS: READING A DATABASE
Using a DataReader
REAL-WORLD SCENARIOS: SEARCHING A DATABASE
Querying Tables
Using Stored Procedures
INDEX
Biography
J.F. DiMarzio is an IT manager with 14 years of experience in the technology industry. His other books have been translated into five languages and sold worldwide. He currently works as a management consultant in the southeastern United States
". . . found the book very readable and easy to understand. The detailed explanations provide great insight for the reader. I really liked the author’s ability to make the steps very easy to follow while providing meaning and understanding. Overall, I definitely recommend this book."
– Scott Brookhart, in StickyMinds.com, 2007