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.
BUGS: FACT OR FICTION? 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