Lesson 120

Debugging & Developer Tooling

The scientific method for broken code

1:00

A disciplined, step-by-step method for finding and fixing bugs — covering the debugging loop, stack traces, git bisect, interactive debuggers, log levels, common bug classes, and the four-tool static/dynamic toolbox.

By the end, you can

  • Apply the six-step debugging loop to a real failing case.
  • Read a stack trace and identify the deepest frame in your own code.
  • Explain what git bisect does and calculate how many tests it needs for n commits.
  • Set a breakpoint, step through execution, and use a watch panel to catch a bug in the act.
  • Order the five standard log levels from chattiest to most severe and explain when each applies.
  • Identify the three pillars of observability.
  • Recognize off-by-one, null/undefined, and race-condition bugs by their symptoms and name the best tool for each.
  • Distinguish static tools (linter, static analyzer) from dynamic tools (sanitizer, profiler) and match each to the class of bug it finds.
Up next in Software Engineering & Web
Questions or feedback?