SuperAPI AI 工具集

root-cause-tracing

通用与其它

查看项目

更新于 10-15 21:41

技能介绍

用途:当错误发生在执行深处而非入口处、堆栈跟踪显示很长的调用链、不清楚无效数据来自何处,或需要定位是哪个测试/代码触发问题时,用该技能系统性地反向追踪缺陷,找到最初的触发点。

主要能力:从观察症状开始,先定位直接原因(哪段代码直接导致报错),再逐层追问“谁调用了它”,沿调用链向上追溯,直到找到原始触发点并在源头修复。资料给出的示例中,git init 在错误目录执行,最终追溯到测试在 beforeEach 之前访问了初始为空的 tempDir。

使用方式:可借助 Serena MCP 高效追踪调用,用 find_referencing_symbols(functionName) 获取所有调用者及代码上下文;无法手动追踪时用 insert_before_symbol 在函数入口插入诊断日志,记录 directory、cwd、环境变量和 new Error().stack。测试中应使用 console.error() 而非 logger,因为 logger 可能被抑制;日志要放在危险操作之前。运行并捕获输出,例如 npm test 2>&1 | grep 'DEBUG git init'。若不确定是哪个测试造成污染,可用脚本 ./find-polluter.sh '.git' 'src/**/*.test.ts' 逐个运行测试,在第一个污染者处停止。

适用场景:深层调用栈缺陷、无效数据来源不明、测试间相互污染、需要定位触发测试等调试场景。

限制:资料未提供该技能的安装方式、收费、支持平台或性能数据;Serena MCP 与 find-polluter.sh 的具体可用性、版本要求暂未提供。核心原则是绝不只修复症状出现的位置,而应追溯到源头,并可在各层添加校验形成纵深防御。