SuperAPI AI 工具集

systematic-debugging

测试与质量

查看项目

更新于 10-15 23:33

技能介绍

用途:把“随便试试”的调试方式替换为系统化的根因分析,用于排查 bug、异常行为、原因不明的测试失败、运行时错误(崩溃、异常、输出错误)、性能问题(变慢、内存泄漏)以及用户反馈“用不了”的情况。不适用于编写新代码、代码审查或规划,这些应使用其他对应技能。

主要能力与流程:核心是复现、隔离、诊断、修复、验证。要求先可靠复现问题,记录报告行为、预期行为、复现步骤、是否可复现及环境;若为间歇性问题,则排查竞态条件、时序问题或状态相关行为。要求完整阅读并解析错误信息,例如从 TypeError: Cannot read properties of undefined (reading 'map') 推断出 .map() 前的变量为 undefined,再追问为何为 undefined。隔离时按 UI、API、数据库、外部服务分层,用 console.log 或调试器逐步缩小到具体文件、函数、行与值,并可用二分法定位。

诊断要点:核对常见假设,如“数据是对的”“函数被调用了”“API 返回正确”“什么都没改”“在我机器上是好的”“类型正确”“状态已更新”,通过实际日志、git diff、环境差异、typeof 与真实值、useEffect 中的状态日志来验证。修复后需验证:原复现步骤不再触发、相关功能回归正常、补充测试、考虑边界情况。禁止到处加 null 检查等随机修复,应修复根因而非症状。

决策树与边界情况:有错误信息则完整解析;无错误但行为错误则对比预期与实际并记录中间值;间歇性 bug 查竞态、状态或环境依赖;性能问题先做 profiling 并测量前后变化。还涉及第三方库 bug、观察即消失的 Heisenbug、开发正常生产失败、不稳定测试等情形。

限制:资料未提供安装命令、价格、平台支持或具体技术栈实现细节;相关资源包括 debugging-strategies.md、common-mistakes.md 与 critical-partner。