界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

debug-pro

debug-pro

【开发与工程】系统化调试方法论与各语言调试命令速查——7 步调试协议(复现→隔离→假设→插桩→验证→修复→回归)。适用于从日志/报错定位 bug、用 git bisect 缩小范围、根因分析与最小化零回归修复。

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

Zzju-real / hugagentosApache-2.0

技能说明

GitHub

name: debug-pro description: 系统化调试方法论与各语言调试命令速查——7 步调试协议(复现→隔离→假设→插桩→验证→修复→回归)。适用于从日志/报错定位 bug、用 git bisect 缩小范围、根因分析与最小化零回归修复。 version: 1.0.0

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

ErrorLikely CauseFix
Cannot read property of undefinedMissing null check or wrong data shapeAdd optional chaining (?.) or validate data
ENOENTFile/directory doesn't existCheck path, create directory, use existsSync
CORS errorBackend missing CORS headersAdd CORS middleware with correct origins
Module not foundMissing dependency or wrong import pathnpm install, check tsconfig paths
Hydration mismatch (React)Server/client render different HTMLEnsure consistent rendering, use useEffect for client-only
Segmentation faultMemory corruption, null pointerCheck array bounds, pointer validity
Connection refusedService not running on expected portCheck if service is up, verify port/host
Permission deniedFile/network permission issueCheck 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
我的收藏