Buglyst Blog
Learn to debug under pressure.
Playbooks for fast pattern recognition, guides for the full investigation, and articles for the engineering judgment around the edges.
17 playbooks · 509 guides · 95 articles · 12 linked practice labs ·skip to practice
Fast pattern recognition for the production failures engineers see most often.
0 playbooks in Debugging Craft
No playbooks found
Nothing matches “”. Try a broader term.
Structured investigations for the failure modes engineers meet in real systems.
Debugging java.lang.StackOverflowError from Recursion
A practical guide to diagnosing and fixing StackOverflowError caused by unbounded recursion in Java, including thread stack analysis, JVM flags, and code patterns that actually cause this.
Turborepo Cache Not Hitting – Debugging Remote and Local Cache Misses
A practical guide to diagnosing why Turborepo's cache is not hitting, covering both local and remote cache misses with concrete commands and root causes.
Nx Affected Command Not Detecting Changes: Debugging Guide
When `nx affected` commands fail to see your changes, the cause is almost always a mismatch between the git base and the project graph. This guide shows you exactly how to diagnose and fix it.
Husky Git Hook Not Running: Why Your Pre-commit or Commit-msg Hook is Silently Skipped
Diagnose why Husky hooks are not executing despite being installed. Covers .git/hooks issues, path problems, and permission errors.
React Native iOS Pod Install Error: Xcode Build Failures and CocoaPods Conflicts
A practical guide to diagnosing and fixing pod install failures in React Native iOS projects, covering version mismatches, cache issues, and FFI dependencies.
Expo EAS Build Fails: Debugging Build Errors on EAS
A practical guide to debugging Expo EAS build failures, covering common causes, diagnosis steps, and fixes for EAS Build errors.
Long-form thinking on debugging habits, observability, and the systems around the bug.
5 Questions to Ask Yourself Before Filing a Bug Report
A senior engineer's pre-flight checklist for bug reports — forged in the fire of a production incident that turned a 5-minute fix into a 3-hour hunt.
Binary Search for Bugs: Cutting Down Bisection Time with git bisect run
Automating git bisect with a script turns days of manual hunting into minutes. Here's how to build a reliable bisection harness for your codebase.
Reading a Call Stack: What Each Frame Actually Tells You
A call stack shows you the path your code took to crash. But most developers only look at the top frame. Here’s how to read the whole thing — including async traces, native frames, and minified code.
Using Breakpoints Effectively: Beyond Step and Continue
Most engineers know F9 to set a breakpoint and F5 to run. But breakpoints have hidden superpowers — conditional, logpoint, hit-count, and data breakpoints — that can cut debugging time in half. Here's how to use them with real examples.
Conditional Breakpoints: When and How to Use Them Beyond the Basics
Conditional breakpoints stop only when a specific condition is true, reducing noise in loops and high-frequency code. Here's how to wield them in Chrome DevTools, VS Code, and IntelliJ, plus a war story about a subtle race condition.
Debugging Character Encoding Problems: From Gibberish to Unicode
A practical guide to identifying and fixing character encoding problems, from broken UTF-8 to hidden BOM bytes, with real debugging examples.