mcpField
I
intermittent-issue-debugging

intermittent-issue-debugging

github.com/aj-geddes开发373427 次安装34 周前更新
代码仓库

关于 intermittent-issue-debugging

用于系统排查间歇性故障的技能。它提供症状捕获、原因调查和监控方面的指导,适用于不稳定测试、竞态条件和依赖时序的错误。

主要功能

  1. 01间歇性问题捕获指南
  2. 02系统化调查流程
  3. 03常见问题参考指南
  4. 04监控与预防建议

适用场景

  1. 01调查日志中的偶发错误
  2. 02排查不稳定测试
  3. 03检查疑似竞态条件
  4. 04调试依赖时序的错误

安装

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

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill intermittent-issue-debugging

安装后在 Claude Code 中输入/intermittent-issue-debugging确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
capturing-intermittent-issues.md
common-intermittent-issues.md
monitoring-prevention.md
systematic-investigation-process.md
scripts/
scaffold-tests.sh
templates/
test-template.js

详细介绍

间歇性问题调试

目录

概述

间歇性问题最难调试,因为它们不会持续出现。采用系统化的方法并进行全面监控至关重要。

适用场景

  • 日志中偶尔出现错误
  • 用户报告偶发问题
  • 不稳定的测试
  • 怀疑存在竞态条件
  • 依赖时序的 Bug
  • 资源耗尽问题

快速入门

最简可运行示例:

// Strategy 1: Comprehensive Logging
// Add detailed logging around suspected code

function processPayment(orderId) {
  const startTime = Date.now();
  console.log(`[${startTime}] Payment start: order=${orderId}`);

  try {
    const result = chargeCard(orderId);
    console.log(`[${Date.now()}] Payment success: ${orderId}`);
    return result;
  } catch (error) {
    const duration = Date.now() - startTime;
    console.error(`[${Date.now()}] Payment FAILED:`, {
      order: orderId,
      error: error.message,
      duration_ms: duration,
      error_type: error.constructor.name,
      stack: error.stack,
    });
    throw error;
  }
}

// Strategy 2: Correlation IDs
// ... (see reference guides for full implementation)

参考指南

详细实现见 references/ 目录:

指南内容
捕获间歇性问题捕获间歇性问题
常见间歇性问题常见间歇性问题
系统化调查流程系统化调查流程
监控与预防监控与预防

最佳实践

✅ 应该
  • 遵循既定模式和规范
  • 编写清晰、易于维护的代码
  • 添加适当的文档
  • 部署前进行全面测试
❌ 不应该
  • 跳过测试或验证
  • 忽视错误处理
  • 将配置值硬编码

评论

支持 Markdown