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
Author Biography: 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.
|Product dimensions:||7.36(w) x 9.14(h) x 0.61(d)|
About the Author
David J. Agans 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.
Most Helpful Customer 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, you'll find a wealth of distilled knowledge here that would take many years to acquire on your own. While experienced programmers may consider most of the rules to be obvious, that doesn't mean they're common practice. I've been debugging for more than 20 years, and still learnt some useful new tricks. Rule 3 ("Quit thinking and look") is a particularly good one to keep in mind. 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; 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; the well pump that wasn't broken; 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.