liveBook · Manning

Debugging

As explained in Writing for Developers: Blogs that get read

Debugging is the systematic process of locating, diagnosing, and correcting defects in software.

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

How Writing for Developers: Blogs that get read covers it

How deep it goes
Details investigation steps, observations, tools, reproducibility, and fixes, while stopping short of prescribing one universal debugging workflow.
Examples
Uses Rust build times, Java memory leaks, distributed-system failures, processor caches, and natural-language code explanations.
What you can do after
Diagnose/debug with it by documenting symptoms, inspecting evidence, testing hypotheses, identifying root causes, and applying informed fixes.
How it connects
Connects debugging with root-cause analysis, observability tools, memory leaks, garbage collection, and rubber-duck debugging.

Also explained in

Compare how 16 books explain debugging →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Writing for Developers: Blogs that get read. The section links point to the parts of the book it draws on.