smart-debugger

前端智能调试助手。从错误信息、控制台日志、异常行为描述快速定位问题代码并给出修复建议。适用于:(1) 运行时错误(TypeError、ReferenceError 等),(2) 控制台警告分析,(3) 页面白屏/卡顿排查,(4) 网络请求异常,(5) 组件渲染异常。与 BugHunter 区别:smart-debugger 聚焦快速定位,BugHunter 做完整闭环修复。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "smart-debugger" with this command: npx skills add sakumyz/skills/sakumyz-skills-smart-debugger

智能调试助手

从错误信息快速定位问题根因,给出修复建议。

输入方式

接受以下任一形式:

  • 错误信息文本(如 TypeError: Cannot read properties of undefined
  • 控制台日志片段
  • 异常行为描述(如"组件反复渲染,页面卡顿")
  • 指定文件路径 + 问题描述

调试流程

1. 错误分类

根据输入信息归类:

类别信号优先排查
运行时类型错误TypeError, ReferenceError变量未定义、属性访问链、类型断言
渲染异常白屏、组件不显示、闪烁条件渲染逻辑、数据初始状态、Suspense/ErrorBoundary
性能问题卡顿、频繁重渲染useEffect 依赖、状态更新循环、大列表未虚拟化
网络请求4xx/5xx、CORS、超时API 地址、请求头、代理配置
样式异常布局错乱、样式不生效CSS 优先级、动态 class、主题覆盖
构建错误编译失败、类型错误导入路径、类型定义、tsconfig
控制台警告React/Vue 警告Key 重复、PropTypes、响应式丢失

2. 上下文收集

根据分类,自动执行对应的上下文收集:

通用步骤(所有类别都执行):

  1. 读取 package.json 识别技术栈和框架版本
  2. 如果提供了文件路径,读取相关文件

按类别额外收集

类别自动收集
运行时错误从堆栈信息定位源文件 → 读取文件 → 检查上下文
渲染异常检查组件 props/state 定义 → 数据流追踪
性能问题搜索 useEffect/watch 使用 → 检查依赖数组
网络请求检查 API 配置、代理配置、环境变量
构建错误检查 tsconfig.json、webpack/vite 配置

3. 模式匹配

将错误信息与常见前端错误模式进行匹配,快速给出方向。

高频错误速查

TypeError: Cannot read properties of undefined (reading 'xxx')

  • 排查:可选链缺失 obj?.prop、API 返回结构变化、异步数据初始状态为 undefined
  • 修复:添加空值保护、设置默认值、检查数据流

TypeError: xxx is not a function

  • 排查:导入错误(default vs named export)、版本升级 API 变更、异步加载未完成
  • 修复:检查 import 语句、查阅库的 changelog

Maximum update depth exceeded / Too many re-renders

  • 排查:useEffect 依赖数组缺失/错误、setState 在 render 中调用、对象/数组引用不稳定
  • 修复:修正依赖数组、使用 useMemo/useCallback 稳定引用

Cannot update a component while rendering another

  • 排查:在渲染阶段调用了 setState(来自子组件的回调、context 更新)
  • 修复:将更新移至 useEffect 或事件处理函数中

Objects are not valid as a React child

  • 排查:渲染了原始对象 {obj}、日期对象未转字符串、Promise 未解析
  • 修复:JSON.stringify 或提取具体字段

Vue: [Warn] Invalid prop type / Missing required prop

  • 排查:PropTypes 定义与传入不匹配、组件 API 变更
  • 修复:检查组件文档、修正 prop 传入

Vue: [Warn] Avoid using non-primitive value as key

  • 排查:v-for 的 key 使用了对象而非原始值
  • 修复:使用唯一 ID 字段作为 key

4. 输出格式

## 🔍 诊断结果

**错误类型**:[分类]
**根因**:[一句话说明]

### 问题定位
- 文件:`path/to/file.tsx`
- 行号:约 L42(基于堆栈 / 代码分析)
- 代码片段:
  ```tsx
  // 问题代码

修复建议

// 修复后的代码

预防措施

  • [如何避免同类问题]

## 与 BugHunter 的分工

| 场景 | 使用工具 |
|------|---------|
| 拿到一个错误信息,想快速定位修复 | **smart-debugger**(本 skill) |
| 收到 Redmine Bug 工单,需要完整修复闭环 | **BugHunter**(subagent) |
| 难以定位的复杂 Bug,需要深度分析 | 先用 smart-debugger 初诊 → 转 BugHunter |

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

excel-to-markdown

No summary provided by upstream source.

Repository SourceNeeds Review
General

add-form-validation-rule

No summary provided by upstream source.

Repository SourceNeeds Review
General

excel-sheet-splitter

No summary provided by upstream source.

Repository SourceNeeds Review
General

perf-analyzer

No summary provided by upstream source.

Repository SourceNeeds Review