14 Steps How To Debug Any
14 Steps How To Debug Any
14 Steps How To Debug Any
At this point, if you are not fully clear on what the bug is, then
loop back to step 1 on this identified sub-unit.
On the other hand, it’s possible to save a lot of time and effort
by using hypothesis-driven divide and conquer, as described
above. You still check whether behavior is as expected just
before the sub-unit that is hypothesized to be broken, but, if
things are functional there, you go straight to the output of
that sub-unit. This enables very rapid zooming-in on the bug.
Only proceed to the next step once you’re clear about what the
bug is.
Step 6: Think of other versions of
this class of bug
Sometimes bugs are caused by simple typos, or one-off
misunderstandings, and these kinds of bugs can just be fixed
in isolation. However, it’s much more common for bugs to be
representative of a much larger class of problems.
After spending the time and effort to get to this step, you will
usually have an incredibly clear perception of the relevant
parts of the system and of the problem. You will be the world-
class expert on this bug. For this reason, now is the time to
leverage all of that knowledge. In a month, you will no longer
have this clarity of perception with respect to this specific
problem.
Conclusion
You just did some awesome, high-quality engineering. Pat
yourself on the back and head off to do something else that’s
outstanding.