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.

Paperback list price normally $34.95, now on sale for $9.95 while supplies last.

Buy Now

Select a DRM-free Format:

In Stock
In Stock
In Stock
Buy the eBook and get these DRM-free formats delivered immediately:
  • epub (for iPhone/iPad, Android, eReaders)
  • mobi (for Kindle)
  • PDF
We can automatically send them to your Kindle, and your Dropbox. (You'll need to log in to enable these options.)
 

About this Book

  • 232 pages
  • Published:
  • 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 and 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

About the Author

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.