Debugging and over one million other books are available for Amazon Kindle. Learn more

Buy New

or
Sign in to turn on 1-Click ordering.
Buy Used
Used - Like New See details
$8.57 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
Kindle Edition
 
   
Sell Back Your Copy
For a $1.23 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems
 
 
Start reading Debugging on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems [Paperback]

David J Agans (Author)
4.8 out of 5 stars  See all reviews (27 customer reviews)

List Price: $17.95
Price: $15.20 & eligible for FREE Super Saver Shipping on orders over $25. Details
You Save: $2.75 (15%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Usually ships within 1 to 3 weeks.
Ships from and sold by Amazon.com. Gift-wrap available.

Formats

Amazon Price New from Used from
Kindle Edition $9.99  
Paperback $15.20  

Book Description

November 5, 2006
The rules of battle for tracking down -- and eliminating -- hardware and software bugs. When the pressure is on to root out an elusive software or hardware glitch, what's needed is a cool head courtesy of a set of rules guaranteed to work on any system, in any circumstance. Written in a frank but engaging style, Debugging provides simple, foolproof principles guaranteed to help find any bug quickly. This book makes those shelves of application-specific debugging books (on C++, Perl, Java, etc.) obsolete. It changes the way readers think about debugging, making those pesky problems suddenly much easier to find and fix. Illustrating the rules with real-life bug-detection war stories, the book shows readers how to: * Understand the system: how perceiving the ""roadmap"" can hasten your journey * Quit thinking and look: when hands-on investigation can't be avoided * Isolate critical factors: why changing one element at a time can be an essential tool * Keep an audit trail: how keeping a record of the debugging process can win the day"

Frequently Bought Together

Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems + Debug It!: Find, Repair, and Prevent Bugs in Your Code (Pragmatic Programmers) + Data Structures in Java: From Abstract Data Types to the Java Collections Framework
Price For All Three: $135.46

Some of these items ship sooner than the others. Show details

Buy the selected items together
  • Usually ships within 1 to 3 weeks.
    Ships from and sold by Amazon.com.
    Eligible for FREE Super Saver Shipping on orders over $25. Details

  • Debug It!: Find, Repair, and Prevent Bugs in Your Code (Pragmatic Programmers) $22.95

    In Stock.
    Ships from and sold by Amazon.com.
    Eligible for FREE Super Saver Shipping on orders over $25. Details

  • Data Structures in Java: From Abstract Data Types to the Java Collections Framework $97.31

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details



Editorial Reviews

Review

"...get this book.Its stories and examples are amusing and instructive." -- Test & Measurement World

"..a short but invaluable work dedicated to helping you hunt down pesky problems online and off." -- New.Architect magazine, February 2003

"I have printed out his rules and expect I'll lend this book out frequently." -- Dr.Dobb's Journal,Gregory V. Wilson, San Francisco, CA Feb. 2003

"It's not often you find a classic,but I think I've found a new classic for software and computer hardware developers." -- Slashdot.com, David A.Wheeler

"Unlike most books about debugging, this book isn't a technical manual. It's easy to follow and logical approach and progression." -- IEEE Software magazine

..the book lays out sensible strategies and tactics, clearly based on years of experience and reflection. -- EDN Access October 3, 2002

Fun, charming, motivating, and instructive, Debugging is a good gift for your friendly computer fixer. -- GlobeTechology.com February 2003

Problem-solvers everywhere can benefit from this straight-forward guide to fixing glitches in systems and software. -- Richmond, VA TIMES-- Dispatch Dec. 16,2002

Written by an experienced, down-to-earth engineer, it offers exactly what's needed when stuck in the technology trenches-fast, street-smart advice. -- BIZLIFE June 2003 --This text refers to an out of print or unavailable edition of this title.

Review

IEEE Software magazine: "Unlike most books about debugging, this book isn't a technical manual. It's easy to follow and logical in approach and progression. The author elegantly presents the concepts and makes the debugging task unintimidating but, at the same time, points out that the major task is learning to apply his rules. Debugging not only makes the subject area easy to understand; it's an excellent example of how you can present the art of debugging in a way that's meaningful and exciting. This book should be required reading for all technology college students. It explains the logic you need in the real world, logic that so many students don't learn before graduation. After reading this book, I got excited about debugging and went out to look for something to test the nine﷓rule approach on.""

Slashdot.com, David A. Wheeler: “It's not often you find a classic, but I think I've found a new classic for software and computer hardware developers. It's David J. Agan's Debugging….It's hard to bottle experience; this book does a good job. This is a book I expect to find useful many, many, years from now….I think this is a great book….Novices need to learn the fundamentals, and pros need occasional reminders of them; this book is a good way to learn or be reminded of them. Get this book.”"


Product Details

  • Paperback: 192 pages
  • Publisher: AMACOM (November 5, 2006)
  • Language: English
  • ISBN-10: 0814474578
  • ISBN-13: 978-0814474570
  • Product Dimensions: 9.6 x 6.7 x 0.4 inches
  • Shipping Weight: 12 ounces (View shipping rates and policies)
  • Average Customer Review: 4.8 out of 5 stars  See all reviews (27 customer reviews)
  • Amazon Best Sellers Rank: #188,546 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

27 Reviews
5 star:
 (23)
4 star:
 (2)
3 star:
 (2)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.8 out of 5 stars (27 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

27 of 28 people found the following review helpful:
5.0 out of 5 stars very useful and easy-to-read, June 3, 2003
By 
Timur Shtatland (Melrose, MA United States) - See all my reviews
(REAL NAME)   
This book is very useful for beginners and intermediate programmers. "Debugging" is full of practical advice on debugging in general. It is not tied to any particular programming language.

The book describes 9 main debugging "rules", and many smaller "sub-rules". The rules (such as "Make it fail" or "Quit thinking and look") and sub-rules (such as "Start from a known state" or "Build instrumentation in") are derived from common sense and years of experience. Many people know most of the rules, but perhaps do not systematically follow them. "Debugging" clarifies and makes a systematic review of the debugging practices, with examples taken from real life, simplified to remove the jargon.

The book is quite funny and makes enjoyable reading. I am looking forward to more: perhaps we can see more stories in the next edition, or in a companion volume, or on the debugging rules web site.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


24 of 25 people found the following review helpful:
5.0 out of 5 stars Indispensible for coaching as well as self-guided study., October 1, 2006
If, after twelve years or so of work, you find yourself bringing junior team members along and filling the role of mentor or lead, you are expected to impart your accumulated experience and wisdom onto the newcomers, so that the hard-won lessons need not become a re-nvention of the wheel. The most common problem in doing this is succinctly and effectively communicating the messages. This book does exactly that, for debugging problems.

It's worth noting that the author is very careful to distinguish between troubleshooting and debugging. Getting to the root cause of a problem is debugging; fixing the painful symptom(s) is troubleshooting. The analogy used in the book is this: instead of wiping off the oil spots so you don't slip and fall, secure the machine with four bolts instead of two. Keeping the floor clean is troubleshooting. Securing the machine so it doesn't vibrate, loosen the fittings, and leak oil in the first place, is debugging.

Debugging is hard. It requires discipline, attention to detail, and patience. The toughest leap of faith for anyone trying to adhere to the system might be in slowing down and proceeding in a meticulous, measured fashion; however, it is almost always exactly what's required to zero in on a problem's root cause, and accomplish the job.

Mr. Agans liberally fills the book with real-life war stories of how each rules is applied (or not applied); in some instances he can detail a good story illustrating every single rule. The rules cover exactly enough ground, and are reinforced well by examples. There's absolutely no filler in this book, despite any incomprehsible claim to the contrary. In fact, one might well wish for more examples in order to help make the necessary analogies to someone else when teaching from this book.

Here's a good example. It's my own war story showing how I used the rules, and how I didn't...

... I was trying to figure out why a particular application wouldn't export output to Excel. It was an out-of-the-box feature from the vendor, but the application is extremely complex to configure and I'd misconfigured something somewhere (it has to be me, no one else was brave enough to touch this application).

I had been wrestling with it, trying this configuration file and that one, all to no avail. I finally broke down and emailed the vendor, who put e in touch with a support specialist.

At this point, I had been changing too many things at once (rule #5 violated), not keeping a good audit trail because I was moving too fast (rule #6 violated), and clearly not looking (rule #3 busted). The only rule I'd tried was #8 "Get a Fresh View". The tide turned.

We started from square one, and rule #1 "Understand the System" came into play. We walked over all the possibilities, listing where exporting to Excel lays in the application. This also helped us to narrow down our search (rule #4, "Divide and Conquer"). Next, we started changing one thing at a time (rule #5) while keeping a good audit trail of what worked or didn't (rule #6). At one point, we'd revisited a section of code that sparked something in my memory. We'd downloaded a fix and forgot to fully test it. It was integral to exporting to Excel, so I backed out the fix, and export to Excel ow worked. It turns out the fix solved one problem but broke exporting to Excel. We put the fix back in, saw the problem (rule #2 "Make it Fail"), and backed out the fix. Now we'd proven that we'd found the real culprit. The vendor investigated and shipped us a new patch that worked *and* didn't break anything else.

If I had to teach all that to someone, I'd end up making a far less effective book than this one. Mr. Agans has done all the hard work here, and now I can give this book to junior team members, quiz them after reading it, and relate our own issues with respect to a common approach and means of describing the situation. Without a doubt, a classic book and one that every single professional problem-solver should own, in any field that has a diagnostic component to it.

-Fred
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


11 of 11 people found the following review helpful:
5.0 out of 5 stars Hard-won experience explained well, November 21, 2002
By 
Eddy Carroll (Dublin, Ireland) - See all my reviews
David Agans does a great job of explaining how to approach debugging as a science rather than an art. If you're a novice programmer, the information here will prove invaluable; discovering how to debug effectively on your own can take many years.

Experienced programmers may consider most of the rules to be obvious; however, those same programmers might be surprised to find how many of these obvious rules they neglect to follow. I've been debugging for more than 20 years, and still learnt some useful new tricks.

Peppered throughout the text are a large number of war stories from the author's own experience with embedded systems. As well as illustrating how to (and more commonly, how not to) approach a particular problem, these are all well written and often entertaining.

Some of my favourites: how wearing the wrong shirt to work caused a new video compression chip to crash; teenagers coming home from school subtly altering the behaviour of a video conferencing system; a vacuum cleaner that made the house lights flash on and off; a noisy read/write line that led a junior engineer to mistakenly redesign an entire co-processor memory circuit; and the self-test feature on an old Pong video game.

Although most examples are hardware related, the approach described can be applied to almost any problem; indeed, several of the examples used have nothing to do with computing.

This is not a large book, but it's well laid out, easy to follow, and doesn't talk down to the reader. It's also packed with enough meat to satisfy the hungriest of programmers. Highly recommended.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews



Inside This Book (learn more)
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
read pulse, breakout box, logic analyzer, debug logs
Key Phrases - Capitalized Phrases (CAPs): (learn more)
War Story, Make It Fail, Understand the System, Change One Thing, Check the Plug, Fresh View, Betty Lou, New Hampshire, Murphy's Law
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject