mcpField
D
debug

debug

github.com/pproenca开发220440 次安装11 周前更新
代码仓库

关于 debug

面向软件工程师的调试方法指南,包含 54 条规则,分为十个按影响排序的类别,涉及问题界定、假设调查、根因分析、验证和预防。

主要功能

  1. 01十类共 54 条规则
  2. 02问题界定与复现
  3. 03基于假设的调查
  4. 04观察与根因分析
  5. 05缺陷分类与修复验证
  6. 06预防与经验总结

适用场景

  1. 01调查软件的异常行为
  2. 02查找性能问题的原因
  3. 03分类并确定缺陷报告优先级
  4. 04验证修复并预防回归

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pproenca/dot-skills --skill debug

安装后在 Claude Code 中输入/debug确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

AGENTS.md
metadata.json
README.md
assets/templates/
_template.md
references/
_sections.md
anti-blame-tool.md
anti-debug-fatigue.md
anti-quick-patch.md
anti-shotgun-debugging.md
anti-tunnel-vision.md
hypo-binary-search.md
hypo-one-change-at-time.md
hypo-rubber-duck.md
hypo-rule-out-obvious.md
hypo-scientific-method.md
hypo-where-not-what.md
obs-breakpoint-strategy.md
obs-log-inputs-outputs.md
obs-stack-trace-reading.md
obs-strategic-logging.md
obs-trace-data-flow.md
obs-watch-expressions.md
pattern-async-await-errors.md
pattern-memory-leak.md
pattern-null-pointer.md
pattern-off-by-one.md
pattern-race-condition.md
pattern-timezone-issues.md
pattern-type-coercion.md
prev-defensive-coding.md

详细介绍

dot-skills 调试最佳实践

为软件工程师提供的全面调试方法指南,包含 10 个类别中的 54 条规则,并按影响程度排序。内容基于 Andreas Zeller 的《Why Programs Fail》研究成果和学术调试课程。

适用场景

在以下情况下参考这些指南:

  • 调查 Bug 或意外行为
  • 在开发过程中调试代码
  • 代码产生错误结果或发生崩溃
  • 需要对性能问题进行根因分析
  • 对收到的 Bug 报告进行分诊并确定修复优先级
  • 对事故进行根因分析
  • 审查调试方法或代码中的常见 Bug 模式

按优先级排列的规则类别

优先级类别影响前缀
1问题定义CRITICALprob-
2基于假设的搜索CRITICALhypo-
3观察技巧HIGHobs-
4根因分析HIGHrca-
5工具掌握MEDIUM-HIGHtool-
6Bug 分诊与分类MEDIUMtriage-
7常见 Bug 模式MEDIUMpattern-
8修复验证MEDIUMverify-
9反模式MEDIUManti-
10预防与学习LOW-MEDIUMprev-

快速参考

1. 问题定义(CRITICAL)
  • prob-reproduce-before-debug - 调查前先复现 Bug
  • prob-minimal-reproduction - 创建最小复现用例
  • prob-document-symptoms - 准确记录症状
  • prob-separate-symptoms-causes - 区分症状与原因
  • prob-state-expected-actual - 说明预期行为与实际行为
  • prob-recent-changes - 优先检查近期变更
2. 基于假设的搜索(CRITICAL)
  • hypo-scientific-method - 运用科学方法
  • hypo-binary-search - 使用二分搜索定位 Bug
  • hypo-one-change-at-time - 每次只验证一个假设
  • hypo-where-not-what - 先找到发生位置,再询问原因
  • hypo-rule-out-obvious - 先排除明显原因
  • hypo-rubber-duck - 大声讲述问题
3. 观察技巧(HIGH)
  • obs-strategic-logging - 有策略地使用日志
  • obs-log-inputs-outputs - 记录函数的输入和输出
  • obs-breakpoint-strategy - 有策略地使用断点
  • obs-stack-trace-reading - 从下往上阅读堆栈跟踪
  • obs-watch-expressions - 使用监视表达式查看状态
  • obs-trace-data-flow - 跟踪系统中的数据流
4. 根因分析(HIGH)
  • rca-five-whys - 使用 5 Whys 技巧
  • rca-fault-propagation - 跟踪故障传播链
  • rca-last-known-good - 找到最后一个已知正常状态
  • rca-question-assumptions - 质疑自己的假设
  • rca-examine-boundaries - 检查系统边界
5. 工具掌握(MEDIUM-HIGH)
  • tool-conditional-breakpoints - 使用条件断点
  • tool-logpoints - 使用日志点,而非修改代码
  • tool-step-commands - 熟练使用逐过程、逐语句和跳出命令
  • tool-call-stack-navigation - 浏览调用堆栈
  • tool-memory-inspection - 检查内存和对象状态
  • tool-exception-breakpoints - 使用异常断点
6. Bug 分诊与分类(MEDIUM)
  • triage-severity-vs-priority - 区分严重程度与优先级
  • triage-user-impact-assessment - 确定优先级前评估用户影响
  • triage-reproducibility-matters - 在分诊时考虑可复现性
  • triage-quick-wins-first - 优先找出并交付易于完成的改进
  • triage-duplicate-detection - 检测并关联重复的 Bug 报告
7. 常见 Bug 模式(中)
  • pattern-null-pointer - 识别空指针模式
  • pattern-off-by-one - 发现差一错误
  • pattern-race-condition - 识别竞态条件症状
  • pattern-memory-leak - 检测内存泄漏模式
  • pattern-type-coercion - 留意类型强制转换 Bug
  • pattern-async-await-errors - 捕获 async/await 错误处理中的问题
  • pattern-timezone-issues - 识别时区和日期 Bug
8. 修复验证(中)
  • verify-reproduce-fix - 使用原始复现步骤验证
  • verify-regression-check - 检查是否引入回归
  • verify-understand-why-fix-works - 理解修复为何有效
  • verify-add-test - 添加测试以防止问题再次发生
9. 反模式(中)
  • anti-shotgun-debugging - 避免盲目尝试式调试
  • anti-quick-patch - 避免不求甚解地快速打补丁
  • anti-tunnel-vision - 避免局限于最初的假设
  • anti-debug-fatigue - 识别调试疲劳
  • anti-blame-tool - 不要过早归咎于工具
10. 预防与学习(低-中)
  • prev-document-solution - 记录 Bug 解决方案
  • prev-postmortem - 开展无责复盘
  • prev-defensive-coding - 在边界处添加防御性代码
  • prev-improve-error-messages - 改进错误消息

使用方法

阅读各个参考文件,了解详细说明和代码示例:

完整编译文档

如需查看包含所有详细规则的完整指南:AGENTS.md

评论

支持 Markdown