🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Debug Pro

by @cmanfre7

Provides a 7-step debugging protocol plus language-specific commands to systematically identify, verify, and fix software bugs across multiple environments.

Versionv1.0.0
Downloads20,206
Installs197
Stars⭐ 43
TERMINAL
clawhub install debug-pro

πŸ“– About This Skill

debug-pro

Systematic debugging methodology and language-specific debugging commands.

The 7-Step Debugging Protocol

1. Reproduce β€” Get it to fail consistently. Document exact steps, inputs, and environment. 2. Isolate β€” Narrow scope. Comment out code, use binary search, check recent commits with git bisect. 3. Hypothesize β€” Form a specific, testable theory about the root cause. 4. Instrument β€” Add targeted logging, breakpoints, or assertions. 5. Verify β€” Confirm root cause. If hypothesis was wrong, return to step 3. 6. Fix β€” Apply the minimal correct fix. Resist the urge to refactor while debugging. 7. Regression Test β€” Write a test that catches this bug. Verify it passes.

Language-Specific Debugging

JavaScript / TypeScript

# Node.js debugger
node --inspect-brk app.js

Chrome DevTools: chrome://inspect

Console debugging

console.log(JSON.stringify(obj, null, 2)) console.trace('Call stack here') console.time('perf'); /* code */ console.timeEnd('perf')

Memory leaks

node --expose-gc --max-old-space-size=4096 app.js

Python

# Built-in debugger
python -m pdb script.py

Breakpoint in code

breakpoint() # Python 3.7+

Verbose tracing

python -X tracemalloc script.py

Profile

python -m cProfile -s cumulative script.py

Swift

# LLDB debugging
lldb ./MyApp
(lldb) breakpoint set --name main
(lldb) run
(lldb) po myVariable

Xcode: Product β†’ Profile (Instruments)

CSS / Layout

/* Outline all elements */
* { outline: 1px solid red !important; }

/* Debug specific element */ .debug { background: rgba(255,0,0,0.1) !important; }

Network

# HTTP debugging
curl -v https://api.example.com/endpoint
curl -w "@curl-format.txt" -o /dev/null -s https://example.com

DNS

dig example.com nslookup example.com

Ports

lsof -i :3000 netstat -tlnp

Git Bisect

git bisect start
git bisect bad              # Current commit is broken
git bisect good abc1234     # Known good commit

Git checks out middle commit β€” test it, then:

git bisect good # or git bisect bad

Repeat until root cause commit is found

git bisect reset

Common Error Patterns

| Error | Likely Cause | Fix | |-------|-------------|-----| | Cannot read property of undefined | Missing null check or wrong data shape | Add optional chaining (?.) or validate data | | ENOENT | File/directory doesn't exist | Check path, create directory, use existsSync | | CORS error | Backend missing CORS headers | Add CORS middleware with correct origins | | Module not found | Missing dependency or wrong import path | npm install, check tsconfig paths | | Hydration mismatch (React) | Server/client render different HTML | Ensure consistent rendering, use useEffect for client-only | | Segmentation fault | Memory corruption, null pointer | Check array bounds, pointer validity | | Connection refused | Service not running on expected port | Check if service is up, verify port/host | | Permission denied | File/network permission issue | Check chmod, firewall, sudo |

Quick Diagnostic Commands

# What's using this port?
lsof -i :PORT

What's this process doing?

ps aux | grep PROCESS

Watch file changes

fswatch -r ./src

Disk space

df -h

System resource usage

top -l 1 | head -10