| BOOK: “Debugging” – Disciplines For All Technologists |
|
|
| General |
| Written by Darwin Sanoy |
| Monday, May 25, 2009 7:20am |
![]() Troubleshooting and debugging is one of those life activities that we tap into relentlessly - yet never learn about in a structured manner. “Debugging” by David Agans sheds some light on the general principles that produce reliable results no matter what you have under your microscope. Principle Focused: Concisely Expressed, Broadly ApplicableMost books on debugging or troubleshooting are geared toward a specific technology platform. Tools, samples and scenarios tend to be limited to a specific topical area. This concise little book deals with principles and disciplines that apply to all debugging and troubleshooting, regardless of the target technology. The book is filled with examples (called War Stories) that demonstrate the application of the principles. Some of these examples are technical in nature while others deal with household problems. I found this mix of examples to be effective because I could focus on the application of a debugging principle rather than being distracted by trying to figure out the bug in the example. Results Don’t Come From Unapplied MethodsMany reviews of the book note that some recommendations were familiar and others were “self-evident”. Yet from my own experience, debugging and troubleshooting practices are rarely applied in a disciplined manner. So while you may sense that a given principle is somewhat self-evident because past use of it has produced great results – it is still very valuable to hear it from someone who can give structure to this knowledge domain because it:
The results generated by masters of this art come from applying these principles consistently and completely – not just in the fits and starts caused by relying on intuition. Rules Versus DisciplinesThe book refers to the “9 Rules of Debugging” – but I have come to think of them as disciplines. I tend to think of rules as applying in a given order for a desired result and I think of them as eventually being memorized and applied without effort – like a memorized recipe. In contrast, the principles in “Debugging” must be applied iteratively, simultaneously and re-invoked at various stages of the debugging process depending on conditions. Additionally, even when you know them, there is still a temptation to skip a principle if it requires a lot of detailed work. The following two attributes cause me to think of the 9 rules as disciplines:
On TargetThis book is especially applicable to the target audiences of CSI-Windows training as it does not assume specific technologies, tools or a given role. It also applies equally to debugging and troubleshooting and it does not assume comprehensive knowledge of the system that is under analysis. Our course CSI-300 Foundations of Application Internals helps you learn how to be better at finding and solving tough problems. CSI Windows training is targeted at:
Our roles based guide gives many more details about how the training can help you. On Your Shelf David's excellent book deserves a spot on the shelf of every technical professional who must track down nasty problems! |