Debugging is a systematic hunt for defects: investigate symptoms, identify the underlying problem, and apply a fix. Strong debugging accounts explain the path to the answer rather than presenting only the final cause. section 8.3.4 section 8.4.2
Make a debugging investigation useful and reproducible:
- Spend most of the explanation on the investigation, including the observations and tests that narrow the search. section 8.4.2
- Record reproducible details so the techniques transfer to similar problems. section 8.4.5
- Use appropriate analysis and observability tools to inspect system behavior before naming the culprit. section 8.3.4 section 8.4.5
- End with an honest explanation of the fix and the root cause, without manufacturing a dramatic revelation. section 8.3.4 section 8.3.2
Rubber-duck debugging
Explain the problem and solution in natural language, even to an inanimate listener. Writing the explanation can expose a logical fallacy, missed corner case, or incorrect design assumption, prompting a return to the code. section 1.1.2















