debugging-strategies
Master systematic debugging techniques, profiling tools, and root cause analysis to efficiently track down bugs across any codebase or technology stack. Use when investigating bugs, performance issues, or unexpected behavior.
By wshobson · 12,063 installs
npx skills add wshobson/agents --skill debugging-strategies
Source repository · Upstream listing
Debugging Strategies
Transform debugging from frustrating guesswork into systematic problem solving with proven strategies, powerful tools, and methodical approaches.
When to Use This Skill
Tracking down elusive bugs
Investigating performance issues
Understanding unfamiliar codebases
Debugging production issues
Analyzing crash dumps and stack traces
Profiling application performance
Investigating memory leaks
Debugging distributed systems
Core Principles
1. The Scientific Method
1. Observe : What's the actual behavior?
2. Hypothesize : What could be causing it?
3. Experiment : Test your hypothesis
4. Analyze : Did it prove/disprove your theory?
5. Repeat : Until you find the root cause
2. Debugging Mindset
Don't Assume:
"It can't be X" Yes it can
"I didn't change Y" Check anyway
"It works on my machine" Find out why
Do:
Reproduce consistently
Isolate the problem
Keep detailed notes
Question everything
Take breaks when stuck
3. Rubber Duck Debugging
Explain your code and problem out loud (to a rubber duck, colleague, or yourself). Often reveals the issue.
Systematic Debugging Process
Phase 1: Reproduce
Phase 2: Gather Information
Phase 3: Form Hypothesis
Phase 4: Test & Verify
Debugging Tools
JavaScript/TypeScript Debugging
VS Code Debugger Configuration:
Python Debugging
Go Debugging
Advanced Debugging Techniques
Technique 1: Binary Search Debugging
Technique 2: Differential Debugging
Compare working vs broken:
Technique 3: Trace Debugging
Technique 4: Memory Leak Detection
Debugging Patterns by Issue Type
Pattern 1: Intermittent Bugs
Pattern 2: Performance Issues
Pattern 3: Production Bugs
Best Practices
1. Reproduce First : Can't fix what you can't reproduce
2. Isolate the Problem : Remove complexity until minimal case
3. Read Error Messages : They're usually helpful
4. Check Recent Changes : Most bugs are recent
5. Use Version Control : Git bisect, blame, history
6. Take Breaks : Fresh eyes see better
7. Document Findings : Help future you
8. Fix Root Cause : Not just symptoms
Common Debugging Mistakes
Making Multiple Changes : Change one thing at a time
Not Reading Error Messages : Read the full stack trace
Assuming It's Complex : Often it's simple
Debug Logging in Prod : Remove before shipping
Not Using Debugger : console.log isn't always best
Giving Up Too Soon : Persistence pays off
Not Testing the Fix : Verify it actually works
Quick Debugging Checklist