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

Vous voulez voir cette page en français ? Cliquez ici.

Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
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
5.0 out of 5 stars  See all reviews (7 customer reviews)
List Price: CDN$ 20.95
Price: CDN$ 15.12 & FREE Shipping on orders over CDN$ 25. Details
You Save: CDN$ 5.83 (28%)
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 3 to 5 weeks.
Ships from and sold by Gift-wrap available.


Amazon Price New from Used from
Kindle Edition CDN $9.99  
Hardcover CDN $24.76  
Paperback CDN $15.12  
Save Up to 90% on Textbooks
Hit the books in's Textbook Store and save up to 90% on used textbooks and 35% on new textbooks. Learn more.
Join Amazon Student in Canada

Book Description

Nov. 5 2006
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

Customers Who Bought This Item Also Bought

Product Details

Product Description

About the Author

David J. Agans (Milford, NH) is a recognized expert called in to help with tough debugging problems. He currently runs PointSource, a computer systems consultancy. He has worked with industrial control and monitoring systems, integrated circuit design, handheld PCs, videoconferencing, and countless other systems.

Inside This Book (Learn More)
Browse and search another edition of this book.
First Sentence
This book tells you how to find out what's wrong with stuff, quick. Read the first page
Explore More
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Customer Reviews

4 star
3 star
2 star
1 star
5.0 out of 5 stars
5.0 out of 5 stars
Most helpful customer reviews
5.0 out of 5 stars 0101!001010101! Jan. 29 2003
By AgFish
An excellent book of reference for novice to medium level user.
Mr. Agans' book presents real life experiences, or as he calls them war stories and humor filled comment/anecdotes.
I find myself chuckling and giggling along while reading this
book, some of what he said brought back my own memories while
working/debugging on my own software bug(s), or other people's
bug(s) that I have somehow 'inherited' because they left the
company, or are too busy on other projects to debug their own
code. I like the metaphors that he uses to explain ideas or
concepts that seems a bit too complicated to understand.
Mr. Agans made this very clear in the beginning of his book;
the book is not a cover-it-all book, it is a general concept
book on how to isolate, find, and debug something that has gone
wrong. The principles presented by Mr. Agans can be applied to
situations covering everyday life. He presented examples of well
pump and light bulb, etc...
More experienced software/hardware engineers or more experienced
problem solvers who read this book might find it covering bases
that they already know, but the humor makes it worth while.
Was this review helpful to you?
5.0 out of 5 stars Targeting Perfection Dec 4 2002
Debugging leads to quality products and competitive success. This book is the result of twenty years experience in troubleshooting hardware and software products. Agans documented his nine rules for debugging, and explains each one in a chapter. You can read this to get ideas for solving problems in a systematic way.
His first rule is "understand the system", another way to say "don't assume" or "read the manual". [His comments on "a politician" tells me he should follow rule #1 (p.18).] Sometimes the constraints of time and money will not let you capture enough information; management will set the rules and schedules.
The "quit thinking and look" rule says that facts should drive theories (like in criminal detection). Making a list of probable causes can be a guide to research. Page 54 tells of a bug in "one small, simple software routine". Is code inspection passe? Page 65 tells of a light not going on. Based on MTBF, its more likely the light bulb than the switch. But don't overlook the possibility of the connection at the receptacle.
"Divide and Conquer" would be better phrased as "narrowing the search" for a faulty component in a planned, logical manner. Changing one thing at a time advises against trial and error, or guessing at the solution. Keeping track of all changes allows narrowing the search, and any possible interaction with an earlier change.
"Check the Plug" suggests using a PRINT statement that works all the time, not just for a certain event. This is not practical advice in my experience! You should test the tool before using it for testing; recalibration is always good. "Get a Fresh View" is another way to restate the problem.
Read more ›
Was this review helpful to you?
5.0 out of 5 stars Hard-won experience explained well Nov. 21 2002
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.
Was this review helpful to you?
5.0 out of 5 stars very useful and easy-to-read June 3 2003
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.
Was this review helpful to you?
Want to see more reviews on this item?

Look for similar items by category