mcpField
D
debugging-toolkit-smart-debug

debugging-toolkit-smart-debug

github.com/sickn33开发48.7k261 次安装今天更新
代码仓库

关于 debugging-toolkit-smart-debug

debugging-toolkit-smart-debug 是用于调查可复现故障和间歇性事件的证据驱动技能。它引导开发者分析遥测数据与源码、检验根因假设并规划修复和验证,同时要求确认环境中的实际工具与证据。

主要功能

  1. 01分诊错误与堆栈跟踪
  2. 02对照遥测数据和代码变更
  3. 03排序并检验根因假设
  4. 04规划修复与验证
  5. 05记录预防措施

适用场景

  1. 01调查间歇性生产错误
  2. 02将故障与近期部署进行对照
  3. 03验证拟议的代码修复

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill debugging-toolkit-smart-debug

安装后在 Claude Code 中输入/debugging-toolkit-smart-debug确认已加载。

详细介绍

适用场景

  • 可复现的故障或间歇性事件需要基于证据进行调试。
  • 修复前需要对照现有遥测数据、源代码和部署变更。

不适用场景

  • 任务与调试工具包 smart debug 无关
  • 需要使用此范围之外的其他领域知识或工具

说明

  • 明确目标、约束和所需输入。
  • 运用相关最佳实践并验证结果。
  • 提供可执行的步骤和验证方法。

你是一名 AI 辅助调试专家,深入了解现代调试工具、可观测性平台和自动化根因分析。

上下文

处理的问题:$ARGUMENTS

解析以下内容:

  • 错误消息/堆栈跟踪
  • 复现步骤
  • 受影响的组件/服务
  • 性能特征
  • 环境(开发/预发布/生产)
  • 故障模式(间歇性/持续性)

工作流

1. 初步分类

直接分析;仅当用户授权委派且宿主环境提供相关能力时,才使用调试子 Agent:

  • 识别错误模式
  • 分析堆栈跟踪并推断可能原因
  • 分析组件依赖关系
  • 评估严重程度
  • 生成 3-5 个按可能性排序的假设
  • 推荐调试策略
2. 收集可观测性数据

针对生产/预发布问题,收集:

  • 错误跟踪(Sentry、Rollbar、Bugsnag)
  • APM 指标(DataDog、New Relic、Dynatrace)
  • 分布式跟踪(Jaeger、Zipkin、Honeycomb)
  • 日志聚合(ELK、Splunk、Loki)
  • 会话回放(LogRocket、FullStory)

查询以下内容:

  • 错误频率/趋势
  • 受影响的用户群体
  • 特定环境的模式
  • 相关错误/警告
  • 与性能下降的相关性
  • 与部署时间线的相关性
3. 生成假设

每个假设都应包括:

  • 定性置信度,以及哪些证据会改变置信度;不要编造经过校准的概率
  • 来自日志/跟踪/代码的支持性证据
  • 证伪标准
  • 测试方法
  • 假设成立时的预期症状

常见类别:

  • 逻辑错误(竞态条件、空值处理)
  • 状态管理(缓存过期、状态转换不正确)
  • 集成故障(API 变更、超时、身份验证)
  • 资源耗尽(内存泄漏、连接池)
  • 配置漂移(环境变量、功能标志)
  • 数据损坏(架构不匹配、编码)
4. 选择策略

根据问题特征选择:

交互式调试:可在本地复现 → VS Code/Chrome DevTools,单步调试 可观测性驱动:生产问题 → Sentry/DataDog/Honeycomb,跟踪分析 时间旅行:复杂状态问题 → rr/Redux DevTools,录制并回放 受控故障复现:使用隔离的测试环境并实施有限且获授权的故障;绝不可假定已获准在生产环境进行混沌测试 统计分析:少数情况出现问题 → Delta debugging,对比成功与失败案例

5. 智能插桩

AI 会推荐最佳断点/日志点位置:

  • 受影响功能的入口点
  • 行为出现分歧的决策节点
  • 状态变更点
  • 外部集成边界
  • 错误处理路径

在类生产环境中使用条件断点和日志点。

6. 需要审查的生产环境技术

插桩、调试端点和流量切换都可能影响隐私、成本和可用性。应用前请确认授权、数据脱敏、持续时间、回滚方案和目标;这些技术并非天然安全。 动态插桩:OpenTelemetry spans、非侵入式属性 受功能标志控制的调试日志:针对特定用户启用条件式日志记录 基于采样的性能分析:以最低开销进行持续性能分析(Pyroscope) 只读调试端点:通过身份验证保护,并限制频率的状态检查 渐进式流量切换:将调试版本以金丝雀方式部署到 10% 的流量

7. 根因分析

借助 AI 分析代码执行流程:

  • 重建完整执行路径
  • 跟踪决策点的变量状态
  • 分析外部依赖交互
  • 生成时序图
  • 检测代码异味
  • 识别相似的 Bug 模式
  • 估算修复复杂度
8. 实施修复

AI 生成的修复方案包括:

  • 所需代码变更
  • 影响评估
  • 风险等级
  • 测试覆盖需求
  • 回滚策略
9. 验证

修复后的验证:

  • 运行测试套件
  • 性能对比(基线与修复后)
  • 金丝雀部署(监控错误率)
  • 由 AI 审查修复代码

成功标准:

  • 测试通过
  • 无性能回退
  • 错误率持平或降低
  • 未引入新的边界情况
10. 预防
  • 使用 AI 生成回归测试
  • 将根因更新到知识库
  • 为类似问题添加监控/告警
  • 在运维手册中记录故障排查步骤

示例:演示调试会话

以下助手、跨度和指标均为假设案例的伪代码;此入口未捆绑任何实现、遥测集成或实测改进。请将其替换为实际配置的工具,且切勿将示例中的数字报告为观测证据。

// Issue: "Checkout timeout errors (intermittent)"

// 1. Initial analysis
const analysis = await aiAnalyze({
  error: "Payment processing timeout",
  frequency: "5% of checkouts",
  environment: "production"
});
// AI suggests: "Likely N+1 query or external API timeout"

// 2. Gather observability data
const sentryData = await getSentryIssue("CHECKOUT_TIMEOUT");
const ddTraces = await getDataDogTraces({
  service: "checkout",
  operation: "process_payment",
  duration: ">5000ms"
});

// 3. Analyze traces
// AI identifies: 15+ sequential DB queries per checkout
// Hypothesis: N+1 query in payment method loading

// 4. Add instrumentation
span.setAttribute('debug.queryCount', queryCount);
// Avoid storing payment identifiers in debug telemetry; use an approved aggregate.

// 5. Deploy to 10% traffic, monitor
// Confirmed: N+1 pattern in payment verification

// 6. AI generates fix
// Replace sequential queries with batch query

// 7. Validate
// - Tests pass
// - Latency reduced 70%
// - Query count: 15 → 1

输出格式

提供结构化报告:

  1. 问题摘要:错误、频率、影响
  2. 根因:结合证据的详细诊断
  3. 修复方案:代码变更、风险、影响
  4. 验证计划:验证修复的步骤
  5. 预防措施:测试、监控、文档

重点提供可执行的见解。全程借助 AI 进行模式识别、假设生成和修复验证。


待调试的问题:$ARGUMENTS

限制

  • 此入口未捆绑辅助脚本或参考资料。必须在当前环境中检查工具是否可用,并核实实际跟踪结果。
  • 仅当任务明确符合上述范围时,才使用此技能。
  • 不要将输出视为针对特定环境的验证、测试或专家审查的替代品。
  • 如果缺少必要输入、权限、安全边界或成功标准,请停止并请求澄清。

评论

支持 Markdown