Debugging by David J Agans - Presentation Transcript
Debugging by David J Agans
Principle Focused: Concisely Expressed, Broadly Applicable
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, whats 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 cant 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
Personal Review: Debugging by David J Agans
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.
Most 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 Methods
Many 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:
*) reinforces your intuitions
*) fleshes out concepts you may be only vaguely familiar with
*) encourages you to apply them consistently - not just when you happen
to think of it
*) lends credibility when making a case to utilize a given principle
*) allows you to spot processes that inconsistently or incompletely apply
these principles
*) helps you understand interrelationships between the various principles
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 Disciplines
The 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:
they should characterize the entire approach to debugging and
troubleshooting and
even when you are aware of an applicable principle, many times you have
to force yourself to do it.
On Target
This book is especially applicable to the target audiences of CSI-
Windows.com 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
incorporates the disciplines from the excellent book.
For More 5 Star Customer Reviews and Lowest Price:
Debugging by David J Agans 5 Star Customer Reviews and Lowest Price!
Troubleshooting and debugging is one of those life more
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.
Most 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 Methods
Many 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:
*) reinforces your intuitions
*) fleshes out concepts you may be only vaguely familiar with
*) encourages you to apply them consistently - not just when you happen to think of it
*) lends credibility when making a case to utilize a given principle
*) allows you to spot processes that inconsistently or incompletely apply these principles
*) helps you understand interrelationships between the various principles
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 Disciplines
The 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:
they should characterize the entire approach to debugging and troubleshooting and
even when you are aware of an applicable principle, many times you have to force yourself to do it.
On Target
This book is especially applicable to the target audiences of CSI-Windows.com 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 incorporates the disciplines from the excellent book. less
0 comments
Post a comment