Manuals / Problem Solving / Chapter 5

B · Experiment · intermediate · ~35 min · Chapter 5 of 9

Systematic debugging

Reproduce → isolate → fix → verify. Change one variable at a time. Binary search through git history.

Path progress
50%

Step 1 of 2

Reproduction script

If you cannot reproduce it, you cannot verify the fix.

Reproduction scriptDrag stickies · tap for tips
Study mapDrag stickies · tap for tipsKeep it shortdrag · tap →Name the waitdrag · tap →Scope locatorsdrag · tap →Trace when stuckdrag · tap →One browser firstdrag · tap →Isolate statedrag · tap →Assert the UIdrag · tap →Retry wiselydrag · tap →Seed datadrag · tap →Close the loopdrag · tap →Keep it shortdrag · tap →Name the waitdrag · tap →Scope locatorsdrag · tap →Trace when stuckdrag · tap →One browser firstdrag · tap →Isolate statedrag · tap →Pathwise hackdrag · tap →Reproduction scripdrag · tap →Try thisdrag · tap →Follow the dashed drag · tap →

Do this now

Write minimal steps to reproduce a recent bug.

Was this step clear?
Chapter learning outcomes
  • Reproduce first
  • Binary search
  • One change rule

Clear these before you leave

Side quest

Debug journal

Log your next 3 debug sessions: hypothesis, test, result.