1st Edition

The Debugger's Handbook

By J.F. DiMarzio Copyright 2007
    482 Pages 67 B/W Illustrations
    by Auerbach Publications

    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

    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