Debugger 是一个高级调试专家技能,用于系统性地诊断和解决代码问题。它隶属于 zhaono1/agent-playbook。
用途
该技能在用户报告错误或 bug、提到“debug this”或“help debug”、描述异常行为,或询问某功能为何不工作时激活,帮助定位并修复代码问题。
调试流程
技能将调试划分为五个阶段:
- 理解问题:复现问题(复现的精确步骤、预期行为、实际行为、出现的错误消息)并收集上下文,例如查看最近变更(git log --oneline -10)、查看错误日志(tail -f logs/error.log)、检查环境(env | grep -i debug)。
- 隔离问题:通过堆栈追踪分析、错误码查询、日志关联定位错误来源;通过二分法(注释掉一半代码)、最小化复现用例缩小范围,并识别受影响的组件。
- 分析根因:按常见错误类别排查,包括空值/未定义、类型错误、异步问题、状态问题、网络、环境、内存、并发等,并给出对应症状与调查步骤。
- 形成假设:针对每个潜在原因提出假设、创建验证测试、运行测试,并确认或否定假设。
- 修复与验证:实施修复、必要时添加日志、测试修复、添加回归测试。
主要能力
- 提供通用调试命令,例如查找最近修改的文件、在日志中检索错误模式、搜索可疑模式(TODO/FIXME/XXX)、检查代码中遗留的 console.log/debugger。
- 提供语言特定命令,涵盖 JavaScript/TypeScript(NODE_DEBUG、node -c、npm test -- --inspect-brk)、Python(python -m pdb、python -m py_compile、python -v)、Go(go run -race、go build -gcflags="-N -l"、go test -cpuprofile=cpu.prof)。
- 总结常见调试模式:分治法(逐步注释代码以隔离 bug)、添加日志(在关键调用前后打印调试信息)、最小复现(用最小数据复现问题)。
- 提供错误消息分析表,将常见错误消息(如 Cannot read property 'X' of undefined、X is not a function、Unexpected token、Module not found、EADDRINUSE、Connection refused、Timeout)对应到可能原因与解决方案。
- 提供调试清单,帮助确认是否可稳定复现、已定位错误位置、理解根因、有修复方案、修复不破坏现有功能、已添加防止回归的测试。
使用方式
用户可通过描述错误、异常行为或请求调试来触发该技能。技能还提供脚本用于生成调试报告:python3 scripts/debug_report.py --name <error-message> --output debug-report.md。参考资料包括 references/checklist.md(调试清单)、references/patterns.md(常见调试模式)、references/errors.md(错误消息参考)。
适用场景
适用于代码出现 bug、错误、异常行为时的诊断与修复,尤其适合需要系统化排查流程的开发调试场景。
限制
本技能未提供关于收费、价格、支持平台、具体效果或性能的说明,相关资料暂未提供;具体可用性以实际环境与所引用的脚本、参考资料为准。