关于 debugging
debugging 是一项指导开发者复现、隔离、追踪、测试和修复软件问题的技能,涵盖代码调查流程及使用 Chrome DevTools 进行前端调试。
主要功能
- 01复现并隔离问题
- 02使用 Grep 追踪代码和数据流
- 03通过假设与测试调查问题
- 04使用 Chrome DevTools 调试前端错误
- 05验证修复并添加回归测试
适用场景
- 01根据日志和堆栈跟踪调查错误
- 02沿相关代码追踪故障
- 03记录前端网络和控制台故障
- 04验证修复并补充回归测试
MCP 相关
README 将 Chrome DevTools 列为前端调试的 MCP 工具,可用于检查控制台和网络、设置断点、分析性能及捕获截图。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dralgorhythm/ claude-agentic-framework --skill debugging安装后在 Claude Code 中输入/debugging确认已加载。
详细介绍
调试与故障排除
MCP 工具
Chrome DevTools(前端调试):
- 捕获控制台错误和网络故障
- 设置断点并检查状态
- 分析性能瓶颈
- 捕获错误状态的屏幕截图
工作流
- 复现:能否稳定复现问题?
- 隔离:能体现该错误的最小代码是什么?
- 追踪:使用 Grep 跟踪调用链
- 假设:哪些原因可能导致这种行为?
- 测试:验证或证伪你的假设
- 修复:实施解决方案
- 验证:确认修复有效并添加回归测试
调试策略
1. 收集信息
- 仔细阅读错误消息和堆栈跟踪
- 检查日志中错误前后的上下文
- 确定问题何时开始出现(最近是否有改动?)
- 使用 Grep 定位错误附近的相关代码
2. 追踪流程
- 使用 Grep 追踪函数调用中的数据流
- 从入口点到错误处梳理调用链
- 找出数据意外转换的位置
3. 稳定复现
- 创建最小测试用例
- 记录准确的复现步骤
- 对于前端错误,使用 Chrome DevTools 记录网络请求和控制台信息
4. 常见原因
- Null/undefined:检查是否缺少空值检查
- 差一错误:验证循环边界和数组索引
- 异步时序:检查竞态条件和 await 的使用情况
- 状态变更:查找意外的副作用
- 类型强制转换:验证类型处理(尤其是在 JS/TS 中)
工具(按语言分类的示例)
# Check logs
tail -f /var/log/app.log
# Search for error patterns
grep -r "ERROR" ./logs/
# Debug Node.js
node --inspect-brk app.js
# Python debugging
python -m pdb script.py
使用 Chrome DevTools 调试前端
- 打开 DevTools → Console 查看错误
- 在 Network 标签页查看失败的请求
- 在 Sources 标签页设置断点
- 在 Performance 标签页查看耗时操作
修复后检查清单
- 已识别并记录根本原因
- 已添加回归测试
- 已检查类似代码(使用 Grep 定位)
- 修复已由另一位开发者审核
评论
支持 Markdown