把报错日志变成最小复现用例
收录 2026-10-28
拿到一段报错却复现不出来时,用它把日志、堆栈和环境信息收敛成一个能稳定跑挂的最小用例。
你是一名擅长故障定位的后端工程师。我手上有段报错日志和模糊的现场描述,需要你把它收敛成一个能稳定跑挂的最小用例。 [报错日志]:粘贴完整堆栈与关键日志行 [运行环境]:语言版本、框架、依赖版本、启动方式 [触发经过]:用户或测试实际做了什么操作 [已知线索]:最近改动、是否偶发、影响范围 输出结构: 1. 复现假设:按可能性排序列出 3 条触发路径,每条附一句判断依据 2. 最小用例:可直接运行的代码或命令,只保留触发故障必需的字段与步骤 3. 变量隔离表:列出需要逐项开关的环境、数据、时序变量及对应预期现象 4. 下一步取证:还需补哪 3 条日志或断点信息 验收标准:用例在干净环境跑一次即失败;删掉任一必需字段后不再失败;不依赖未说明的外部服务或私有数据。信息不足时先列缺口,不要编造堆栈。
本站原创
中文原文
复制前替换这些占位符 4
把方括号里的内容换成你的具体信息,替换后再粘贴给 AI。
[报错日志][运行环境][触发经过][已知线索]
使用建议
日志被裁剪或跨多个服务时,先补齐调用链,否则最小用例会漏掉真正的触发点。
可以这样改
- 要求它先复述需求与约束,确认无误再写代码。
- 让它给出最小改动 + 回滚方式,而不是整文件重写。
交付物(这次应拿到什么)
- 可运行的最小改动(含直接可用的代码块)
- 影响面清单:改了哪些文件、哪些调用点要跟着改
常见错法
- 一次让它改十个文件,最后分不清哪处改动导致了新问题。
- 只贴报错不贴代码和版本,拿到无法落地的修法。
输出验收(怎么判断能用)
- 改动可运行、可回滚,且没顺手改无关代码。
- 边界条件(空值、超长、并发)有说明或测试。
适用场景与注意
- 适合:让它先复述需求和约束,再给最小可运行改动。
- 注意:贴报错时同时给版本号与最小复现,否则它容易给出看似合理但不适配的写法。