调试技巧
系统化调试流程
1. 收集信息
> 这个测试为什么失败?运行测试并分析错误输出
> 分析最近的报错日志2. 分析错误
关注以下关键信息:
| 信息来源 | 重要性 |
|---|---|
| 错误类型 | 确定问题类别 |
| 错误消息 | 理解问题本质 |
| 堆栈回溯 | 定位出错位置 |
| 输入数据 | 发现边界条件 |
3. 假设验证
用 console.log 或断点验证:
javascript
console.log('变量值:', variable)
console.log('函数返回:', result)4. 实施修复
针对根因修复而非症状:
❌ 在顶层加 try-catch 忽略错误
✅ 修复导致错误的实际逻辑常见错误分析
类型错误
typescript
// 常见原因:类型不匹配、null/undefined 访问
// Codex 分析:审查类型注解和可选链异步错误
javascript
// 常见原因:未 await、竞态条件、Promise 未处理
// Codex 分析:追踪异步数据流和时序渲染错误
jsx
// 常见条件:条件渲染不当、错误的状态更新
// Codex 分析:组件生命周期和状态管理调试最佳实践
- 最小复现:创建最小可复现示例
- 隔离变量:每次只改一处
- 对比差异:Git diff 查看最近修改
- 添加日志:关键位置输出状态
- 测试验证:修复后运行相关测试