Using a Debugger (Breakpoints, Stepping & Watch)
What a debugger actually is - a way to pause your program mid-run and inspect everything that's true at that instant - and how breakpoints, stepping, and watch expressions transfer across every IDE, language, and browser devtools.
Download EPUB- Why a Debugger Beats print() A debugger pauses your program mid-run and lets you inspect everything that's true at that instant, instead of editing in print statements, re-running, and guessing - and print/log debugging is still fine in plenty of cases.
- The Core Moves The universal debugger controls that transfer across every IDE, language, and browser devtools: setting breakpoints, stepping over / into / out, inspecting variables and the call stack, and watch expressions - with an ASCII sketch of a paused session.
- Debugging for Real Leveling up: conditional breakpoints that pause only when X is true, watchpoints that pause when a value changes, debugging across the stack (backend in your IDE plus frontend in browser devtools), reading the call stack at a breakpoint, and the gotcha where a breakpoint changes the timing of a race condition.