编程开发进阶调试排查复现
最小复现与假设排查
先列可能原因并排序,再逐步缩小范围,每一步都要能证伪。
提示词模板
我遇到一个 bug,请帮我系统排查,不要直接给答案。
现象:{{预期什么、实际什么、报错原文}}
环境:{{系统 / 版本 / 依赖}}
复现步骤:{{怎么触发,能否稳定复现}}
最近改动:{{改过什么,什么时候开始出现}}
已经排除:{{试过什么,结果}}
请按这个流程来:
1. 列出 5 个最可能的原因,按可能性排序,每个说明「如果是它,会看到什么现象」;
2. 为前 3 个各设计一个 5 分钟内能做完的验证(命令或最小代码),一次只验一个;
3. 我给出结果后你再更新判断,不要一次把 5 个都试;
4. 找到原因后:给出最小修复、为什么之前没被发现、要不要加测试或告警。
如果信息不足,先告诉我需要看哪几行日志或哪个文件。需要替换的部分
复制模板后,把下面这些 {{…}} 换成你的真实信息;没有的信息宁可留空,也不要让模型编。
{{预期什么、实际什么、报错原文}}{{系统 / 版本 / 依赖}}{{怎么触发,能否稳定复现}}{{改过什么,什么时候开始出现}}{{试过什么,结果}}
什么时候用
本地跑不通、线上报错、行为不一致。
示例
接口偶发 500,先假设是超时、连接池、序列化三类,用日志时间戳逐个排除。
使用建议
- 1先稳定复现再改代码,不能复现就别急着修。
- 2一次只验一个假设,否则不知道是谁的功劳。
- 3修完补一条测试,防止复发。
方法来源:假设—验证调试循环(原创整理)。模板为中文改写与整理,可按你的任务继续修改。