small medium large xlarge

Debug It!: Find, Repair, and Prevent Bugs in Your Code


Cover image for Debug It!

Debug It!

Find, Repair, and Prevent Bugs in Your Code


Professional programmers develop a knack of unerringly zeroing in on the root cause of a bug. They can do that because they’ve written a lot of buggy code and then gained experience fixing it. This book captures all this experience—use it, and you’ll find you write fewer bugs, and the ones you do write will become easier to hunt down.

Choose Your Format(s)

  • $23.00 In Stock
  • Ebooks are DRM free.

  • Ebook delivery options.

About this Title

Pages: 232
Published: 2009-11-04
Release: P2.0 (2010-02-17)
ISBN: 978-1-93435-628-9

Debug It! will equip you with the tools, techniques, and approaches to help you tackle any bug with confidence. These secrets of professional debugging illuminate every stage of the bug life cycle, from constructing software that makes debugging easy; through bug detection, reproduction, and diagnosis; to rolling out your eventual fix.

Whether you’re writing Java or assembly language, targeting servers or embedded micro- controllers, or using agile or traditional approaches, the same basic bug-fixing principles apply.

You’ll learn an empirical approach that leverages your software’s unique ability to show you what’s really happening, the importance of finding a reliable and convenient means of reproducing a bug, and how to avoid common pitfalls. You’ll see how to use commonly available tools to automatically detect problems before they’re reported by customers. You’ll construct “self-debugging” software that automatically provides access to crucial internal information and identifies the broken assumptions that lead to bugs.


Contents & Extracts

Full Table of Contents

  • Introduction
  • The Heart of the Problem
    • A Method in the Madness
    • Reproduce
    • Diagnose extract
    • Fix
    • Reflect
  • The Bigger Picture
    • Discovering That You Have A Problem
    • Pragmatic Zero-Tolerance
  • Debug-Fu
    • Special Cases
    • The Ideal Debugging Environment
    • Teach Your Software to Debug Itself extract
    • Anti-Patterns


Paul Butcher has worked in diverse fields at all levels of abstraction, from microcode on bit-slice processors to high-level declarative programming, and all points in between. Paul’s experience comes from working for startups, where he’s had the privilege of collaborating with several great teams on cutting-edge technology.