[ PROMPT_NODE_25980 ]
Resources 实施手册
[ SKILL_DOCUMENTATION ]
# 调试策略实施手册
此文件包含技能所引用的详细模式、检查清单和代码示例。
## 核心原则
### 1. 科学方法
**1. 观察**: 实际行为是什么?
**2. 假设**: 可能是什么原因导致的?
**3. 实验**: 测试你的假设
**4. 分析**: 它是否证明/反驳了你的理论?
**5. 重复**: 直到找到根本原因
### 2. 调试思维
**不要假设:**
- “不可能是 X” - 确实可能
- “我没改过 Y” - 无论如何都要检查
- “在我机器上是好的” - 找出原因
**要做到:**
- 持续重现
- 隔离问题
- 做好详细笔记
- 质疑一切
- 卡住时休息一下
### 3. 小黄鸭调试法
大声解释你的代码和问题(对着小黄鸭、同事或你自己)。通常能揭示问题所在。
## 系统化调试过程
### 第一阶段:重现
markdown
## 重现检查清单
1. **你能重现它吗?**
- 总是?有时?随机?
- 需要特定条件吗?
- 其他人能重现吗?
2. **创建最小化重现**
- 简化为最小示例
- 移除无关代码
- 隔离问题
3. **记录步骤**
- 写下确切步骤
- 记录环境详情
- 捕获错误消息
### 第二阶段:收集信息
markdown
## 信息收集
1. **错误消息**
- 完整堆栈跟踪
- 错误代码
- 控制台/日志输出
2. **环境**
- 操作系统版本
- 语言/运行时版本
- 依赖项版本
- 环境变量
3. **最近变更**
- Git 历史
- 部署时间线
- 配置变更
4. **范围**
- 影响所有用户还是特定用户?
- 所有浏览器还是特定浏览器?
- 仅生产环境还是开发环境也受影响?
### 第三阶段:形成假设
markdown
## 假设形成
基于收集到的信息,询问:
1. **什么变了?**
- 最近的代码变更
- 依赖项更新
- 基础设施变更
2. **有什么不同?**
- 正常环境 vs 损坏环境
- 正常用户 vs 损坏用户
- 之前 vs 之后
3. **哪里可能出错?**
- 输入验证
- 业务逻辑
- 数据层
- 外部服务
### 第四阶段:测试与验证
markdown
## 测试策略
1. **二分查找**
- 注释掉一半代码
- 缩小问题区域
- 重复直到找到为止
2. **添加日志**
- 策略性使用 console.log/print
- 跟踪变量值
- 追踪执行流
3