SuperAPI AI 工具集

debugging-patterns

测试与质量

查看项目

更新于 10-15 21:40

技能介绍

用途:Debugging Patterns 提供系统化的问题解决与错误分析方法,帮助开发者定位并修复缺陷,而非随机试错。

主要能力:给出调试思维流程——复现(能否稳定触发)、隔离(最小失败用例)、假设(可能原因)、测试(证实或证伪)、修复(只改一处)、验证(是否真正修好)。介绍二分查找调试:先找已知正常状态与已知出错状态,测试中点并重复,定位引入问题的变更;可用 git bisect 自动化,命令包括 git bisect start、git bisect bad、git bisect good <known-good-sha>、git bisect reset。还讲解堆栈跟踪阅读:自下而上获取上下文,自上而下定位原因,并优先查看最靠近业务代码的帧。

常见错误分类:undefined is not a function(导入/导出错误,检查模块路径与命名/默认导出)、Cannot find module(路径或包问题)、ENOENT(文件不存在)、EACCES(权限不足)、静默失败(错误被吞掉,加 try/catch 并检查 promise)、本地正常但 CI 失败(环境差异,检查环境变量、路径、版本)。

日志策略:避免只写 console.log("here"),应记录函数名、输入与状态,或使用结构化日志,如 log.debug({ fn: 'processData', input: data, state }, 'Processing started')。

其他方法:橡皮鸭调试(把问题讲出来)与假设驱动调试,资料指向 .github/skills/rubber-duck-debugging/SKILL.md 和 .github/skills/hypothesis-driven-debugging/SKILL.md。环境调试可检查 $env:PATH、$env:NODE_ENV、node --version、npm --version、code --version、npm list --depth=0。

反模式:一次改多处、无证据就断定原因、忽略错误信息、只说“在我机器上能跑”而不调查、为“修复”错误而删除错误处理。

限制:资料未提供具体安装方式、收费、平台支持或效果数据,暂未提供。