用途:当错误出现在调用栈深处(如 git init 在错误目录执行、文件创建到错误位置、数据库以错误路径打开)时,不要只修复报错处,而应沿调用链向后追溯,找到最初的触发点并在源头修复。
主要能力:提供一套回溯流程——观察症状、找到直接原因、追问“谁调用了它”、继续向上追踪传入的值、定位原始触发点。支持在无法手动追踪时加入插桩,例如在危险操作前用 new Error().stack 记录调用链,并用 console.error() 输出目录、cwd、环境变量等上下文。还提供二分脚本思路,逐个运行测试以找出造成污染的测试。
使用方式:在测试中运行并捕获输出,例如 bun test 2>&1 | grep 'DEBUG git init';也可用 bun test --run --bail 2>&1 | tee test-output.log 逐个运行测试,在首个污染者处停止。分析堆栈时关注测试文件名、触发行号和重复模式。
适用场景:错误发生在非入口点、堆栈显示长调用链、不清楚无效数据来源、需要确定哪个测试或代码触发问题。
限制:资料未提供具体安装命令、平台支持范围、收费方式或性能数据;示例基于 TypeScript/Node 与 bun 测试环境,其他语言或框架需自行适配。核心原则是绝不只修复错误出现的位置,而要追溯到原始触发点。