debug-helper

帮助调试代码,分析错误信息,定位问题根源,提供修复建议。

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 "debug-helper" with this command: npx skills add jackyst0/awesome-agent-skills/jackyst0-awesome-agent-skills-debug-helper

Debug Helper

帮助调试代码,分析错误信息,定位问题根源,提供修复建议。

Help debug code by analyzing error messages, identifying root causes, and providing fix suggestions.

When to Use

当用户请求以下操作时使用此 skill:

  • 调试代码 / Debug code

  • 分析错误信息 / Analyze error messages

  • 修复 bug / Fix bugs

  • 理解异常原因 / Understand exception causes

  • 排查问题 / Troubleshoot issues

Instructions

调试步骤 / Debugging Steps

  • 收集信息 - 获取错误信息、堆栈跟踪、相关代码

  • 分析错误 - 理解错误类型和消息含义

  • 定位根源 - 找到导致问题的代码位置

  • 提供解决方案 - 给出具体的修复建议

  • 预防建议 - 提供避免类似问题的建议

常见错误类型 / Common Error Types

错误类型 可能原因

TypeError 类型不匹配、空值操作

ReferenceError 未定义变量、作用域问题

SyntaxError 语法错误、缺少括号/引号

RuntimeError 运行时逻辑错误

NetworkError 网络请求失败、超时

分析框架 / Analysis Framework

对于每个错误,需要分析:

  • What: 发生了什么错误

  • Where: 错误发生在哪里

  • Why: 为什么会发生

  • How: 如何修复

输出格式 / Output Format

使用 templates/debug-report.md 模板格式化输出。

Use the templates/debug-report.md template to format output.

调试分析报告 / Debug Analysis Report

错误概述 / Error Summary

[错误类型和简要描述]

根本原因 / Root Cause

[详细分析]

修复方案 / Fix

[具体代码修改]

预防建议 / Prevention

[如何避免类似问题]

Examples

输入 / Input

错误信息:

TypeError: Cannot read properties of undefined (reading 'map') at UserList (UserList.jsx:15:23) at renderWithHooks (react-dom.development.js:14985:18)

相关代码:

function UserList({ users }) { return ( <ul> {users.map(user => ( <li key={user.id}>{user.name}</li> ))} </ul> ); }

输出 / Output

调试分析报告

错误概述

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

在 UserList 组件第 15 行调用 .map() 时,users 变量为 undefined 。

根本原因

  • 直接原因: 尝试在 undefined 上调用 .map() 方法

  • 深层原因:

  • 父组件可能没有传递 users prop

  • 数据获取尚未完成时组件已渲染

  • API 返回格式与预期不符

修复方案

方案 1: 添加默认值(推荐)

function UserList({ users = [] }) { return ( <ul> {users.map(user => ( <li key={user.id}>{user.name}</li> ))} </ul> ); }

方案 2: 条件渲染

function UserList({ users }) { if (!users || users.length === 0) { return <p>No users found</p>; }

return ( <ul> {users.map(user => ( <li key={user.id}>{user.name}</li> ))} </ul> ); }

方案 3: 可选链操作符

function UserList({ users }) { return ( <ul> {users?.map(user => ( <li key={user.id}>{user.name}</li> ))} </ul> ); }

预防建议

使用 TypeScript - 添加类型检查

interface Props { users: User[]; }

添加 PropTypes - 运行时类型检查

UserList.propTypes = { users: PropTypes.array.isRequired };

检查数据源 - 确保父组件正确传递数据

处理加载状态 - 在数据获取期间显示加载指示器

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.

Automation

api-doc-generator

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

unit-test-generator

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

git-commit

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-review

No summary provided by upstream source.

Repository SourceNeeds Review