Skip to content

调试技巧

系统化调试流程

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 分析:组件生命周期和状态管理

调试最佳实践

  1. 最小复现:创建最小可复现示例
  2. 隔离变量:每次只改一处
  3. 对比差异:Git diff 查看最近修改
  4. 添加日志:关键位置输出状态
  5. 测试验证:修复后运行相关测试

基于 Codex CLI v0.142.5