Bug 排查(Bug Investigation)
用可复现步骤、假设验证和工具链,快速定位并诊断前端问题根因。
触发场景
- - 用户说「排查 bug」「定位问题」「复现不了」「不知道哪里错了」
- 描述现象:白屏、报错、样式错乱、请求失败、交互异常等
- 提供错误信息、截图、环境(浏览器、设备、网络)
执行流程
1. 明确现象与环境
- - 现象:用户操作路径 + 预期 vs 实际(一句话描述)
- 环境:浏览器及版本、是否生产/预发/本地、设备/分辨率、网络(慢网/离线)
- 必现/偶现:若偶现,补充可能相关条件(数据量、时机、多 tab 等)
2. 复现与缩小范围
- - 写出最小复现步骤(3–5 步内能复现)
- 判断范围:仅某页面 / 某组件 / 某接口 / 某浏览器 / 某分辨率
- 若无法复现:请用户提供录屏、Console 报错、Network 失败请求,或可复现的测试数据/账号
3. 假设与验证
按优先级做假设并逐条验证(用「是/否」结论):
| 假设类型 | 验证方式 |
|---|
| 前端逻辑/状态 | 断点、console.log、React DevTools 状态 |
| 接口/数据 |
Network 看请求与响应、mock 数据对比 |
| 样式/布局 | 审查元素、Computed、覆盖样式来源 |
| 时机/异步 | 执行顺序、Promise/async、事件触发顺序 |
| 环境/兼容 | 换浏览器、无痕、禁用扩展、不同设备 |
4. 定位根因
- - 指出具体文件 + 位置(行/函数/组件)
- 用一句话说明根因:例如「在 XX 条件下未做判空导致取属性报错」
- 若为接口或后端问题,明确说明并给出前端可做的降级或提示
5. 修复建议
- - 给出最小改动修复方案(代码片段或步骤)
- 必要时补充:边界情况、测试建议、类似位置是否需一并检查
输出模板
CODEBLOCK0
常用手段
- - Console:报错栈、
console.trace、断点 - Network:状态码、响应体、请求头、是否被缓存
- Elements:计算样式、覆盖关系、伪元素
- React DevTools:组件树、props/state、重渲染
- Performance / Lighthouse:卡顿、长任务、布局抖动
- 最小复现:新建单页或 CodeSandbox 只保留必要代码与数据
Bug 排查(Bug Investigation)
用可复现步骤、假设验证和工具链,快速定位并诊断前端问题根因。
触发场景
- - 用户说「排查 bug」「定位问题」「复现不了」「不知道哪里错了」
- 描述现象:白屏、报错、样式错乱、请求失败、交互异常等
- 提供错误信息、截图、环境(浏览器、设备、网络)
执行流程
1. 明确现象与环境
- - 现象:用户操作路径 + 预期 vs 实际(一句话描述)
- 环境:浏览器及版本、是否生产/预发/本地、设备/分辨率、网络(慢网/离线)
- 必现/偶现:若偶现,补充可能相关条件(数据量、时机、多 tab 等)
2. 复现与缩小范围
- - 写出最小复现步骤(3–5 步内能复现)
- 判断范围:仅某页面 / 某组件 / 某接口 / 某浏览器 / 某分辨率
- 若无法复现:请用户提供录屏、Console 报错、Network 失败请求,或可复现的测试数据/账号
3. 假设与验证
按优先级做假设并逐条验证(用「是/否」结论):
| 假设类型 | 验证方式 |
|---|
| 前端逻辑/状态 | 断点、console.log、React DevTools 状态 |
| 接口/数据 |
Network 看请求与响应、mock 数据对比 |
| 样式/布局 | 审查元素、Computed、覆盖样式来源 |
| 时机/异步 | 执行顺序、Promise/async、事件触发顺序 |
| 环境/兼容 | 换浏览器、无痕、禁用扩展、不同设备 |
4. 定位根因
- - 指出具体文件 + 位置(行/函数/组件)
- 用一句话说明根因:例如「在 XX 条件下未做判空导致取属性报错」
- 若为接口或后端问题,明确说明并给出前端可做的降级或提示
5. 修复建议
- - 给出最小改动修复方案(代码片段或步骤)
- 必要时补充:边界情况、测试建议、类似位置是否需一并检查
输出模板
markdown
Bug 排查报告
现象
环境
复现步骤
- 1. …
- …
假设与验证
- - [ ] 假设 1:… → 验证结果
- [ ] 假设 2:… → 验证结果
根因
修复建议
常用手段
- - Console:报错栈、console.trace、断点
- Network:状态码、响应体、请求头、是否被缓存
- Elements:计算样式、覆盖关系、伪元素
- React DevTools:组件树、props/state、重渲染
- Performance / Lighthouse:卡顿、长任务、布局抖动
- 最小复现:新建单页或 CodeSandbox 只保留必要代码与数据