# Systematic Debugging — Resources

## Videos

- [Debugging: The #1 Skill Most Developers Lack](https://www.youtube.com/watch?v=7jPXOLdYXpg) — Fun Fun Function, ~25 min. Practical debugging mindset and tools.
- [Debugging with Chrome DevTools](https://developer.chrome.com/docs/devtools/) — Google. Breakpoints, step-through, profiling.
- [JavaScript Debugging Crash Course](https://www.youtube.com/watch?v=H0XScE08k8U) — Traversy Media. Console, debugger, common patterns.

## Articles and Readings

- [Debugging — David J. Agans (Book Summary)](https://www.nickjanetakis.com/blog/debugging-9-rules-from-david-j-agans) — Nick Janetakis. The 9 rules: understand the system, make it fail, quit thinking and look, divide and conquer, change one thing at a time, keep an audit trail, check the plug, get a fresh view, and if you didn't fix it, it isn't fixed.
- [Chrome DevTools JavaScript Debugging](https://developer.chrome.com/docs/devtools/javascript/) — Breakpoints, stepping, watch expressions.
- [JavaScript Debugging Guide (MDN)](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_browser_developer_tools#javascript_console) — Console and debugger usage.
- [Git Bisect](https://git-scm.com/docs/git-bisect) — Binary search through commit history to find the bug-introducing commit.

## Books

- **Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems** by David J. Agans — Classic framework: understand the system, make it fail, quit thinking and look, divide and conquer, and more.
- **Why Programs Fail** by Andreas Zeller — Systematic debugging, delta debugging, and automated fault localization.

## Tools and Playgrounds

- [Chrome DevTools](https://developer.chrome.com/docs/devtools/) — Breakpoints, step-through, network, profiling. Essential for web debugging.
- [VS Code Debugger](https://code.visualstudio.com/docs/editor/debugging) — Node.js and browser debugging from the editor.
- [Git Bisect](https://git-scm.com/docs/git-bisect) — Find the commit that introduced a bug via binary search.

## Podcasts

- [Software Engineering Radio — Debugging Episodes](https://www.se-radio.net/) — Technical discussions on debugging strategies and tooling.
- [Changelog — Debugging Stories](https://changelog.com/podcast) — Real-world war stories from developers tracking down hard bugs.
- [CoRecursive — Debugging Tales](https://corecursive.com/) — Long-form stories about memorable bugs and how they were found.

## Interactive and Visual

- [Chrome DevTools — What's New](https://developer.chrome.com/blog/) — Latest debugging features with visual walkthroughs.
- [Replay.io](https://www.replay.io/) — Time-travel debugger for JavaScript — record, replay, and inspect any point in execution.
- [Python Tutor](https://pythontutor.com/) — Visualize code execution step-by-step (supports JS, Python, Java, C++).

## Courses

- [Google — Chrome DevTools (free)](https://developer.chrome.com/docs/devtools/overview/) — Comprehensive guides and tutorials on browser debugging.
- [freeCodeCamp — Debugging Course](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#debugging) — Free interactive debugging exercises in JavaScript.
