SuperAPI AI 工具集

debugging-strategies

测试与质量

查看项目

更新于 10-15 22:12

技能介绍

该技能用于把调试从反复试错变成系统化流程,适用于追踪难以复现的缺陷、排查性能问题、理解陌生代码库、调试生产环境问题、分析崩溃转储与堆栈、做性能剖析、调查内存泄漏以及调试分布式系统。核心原则是科学方法:观察实际行为、提出假设、做实验、分析结果并循环,直到定位根因;同时保持“不做假设”的心态,如“不可能是 X”“我没改过 Y”“在我机器上是好的”都要验证。流程分四步:复现(判断是否稳定可复现、构造最小复现、记录步骤与环境)、收集信息(完整堆栈、错误码、日志、系统与运行时及依赖版本、环境变量、近期变更、影响范围)、形成假设(什么变了、哪里与正常不同、可能失败的环节)、测试验证(二分法注释代码、加日志、隔离组件、对比正常与故障环境的配置和数据)。还介绍橡皮鸭调试、git bisect 定位回归、差分调试对照表和调用追踪。工具部分按语言给出示例:JavaScript/TypeScript 使用 debugger 断点与条件断点、console.table/time/trace/assert、performance.mark 与 measure,以及 VS Code launch.json 配置;Python 使用 pdb.set_trace、breakpoint、pdb.post_mortem、ipdb、logging 和 cProfile/pstats;Go 使用 Delve(安装命令 go install github.com/go-delve/delve/cmd/dlv@latest,运行 dlv debug main.go)、debug.PrintStack、net/http/pprof 和 runtime/pprof。进阶技术包含二分法调试、差分调试、函数调用追踪装饰器、Chrome DevTools 堆快照对比和 Node 堆转储。针对间歇性缺陷建议加密集日志、查竞态与计时依赖、压力测试;性能问题先剖析再优化,关注 N+1 查询、多余渲染、同步 I/O;生产问题先收集证据并安全调查,不在生产环境随意改动。最佳实践包括先复现、隔离问题、读错误信息、查近期变更、用版本控制、休息、记录发现、修根因而非症状。常见错误是一次改多处、不读完整堆栈、把问题想得太复杂、在生产留调试日志、未验证修复。资料另附调试清单与参考文档,具体工具链和适用版本以实际项目为准,部分内容未提供细节。