关于 error-detector
error-detector 是面向软件开发与运维的错误分析技能,涵盖代码、运行时行为和日志中的缺陷模式。它整理静态与动态分析、监控、根因分析和预防建议,供排查及改进流程参考。
主要功能
- 01静态代码与反模式分析
- 02运行时异常及性能分析
- 03日志错误模式识别
- 04根因分析与错误分类
- 05监控和预防建议
适用场景
- 01检查代码中的安全与复杂度问题
- 02分析异常日志和重复错误
- 03排查内存泄漏与性能瓶颈
- 04制定错误监控和预防方案
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill error-detector安装后在 Claude Code 中输入/error-detector确认已加载。
详细介绍
错误检测技能
目的
提供错误分析和模式检测方面的专业能力,专注于主动识别软件缺陷、分析代码以及监控系统行为。通过静态和动态分析技术识别、分析并帮助预防软件错误。
适用场景
- 执行静态代码分析和反模式检测
- 分析运行时错误和异常模式
- 检测内存泄漏和性能瓶颈
- 监控并分析错误日志
- 通过代码模式识别安全漏洞
- 开展主动错误预防分析
概述
专注于错误分析、模式检测,以及通过代码分析、日志监控和系统行为分析主动识别软件缺陷。
错误检测方法
静态分析
- 代码模式识别
- 反模式识别
- 复杂度分析
- 安全漏洞检测
- 性能瓶颈识别
动态分析
- 运行时错误监控
- 异常模式分析
- 内存泄漏检测
- 性能分析
- 资源利用率跟踪
基于日志的分析
# Example patterns for error detection
grep -r "ERROR\|FATAL\|CRITICAL" logs/ --include="*.log" --include="*.txt"
grep -r "exception\|error\|failed" src/ --include="*.js" --include="*.py" --include="*.java"
grep -r "TODO\|FIXME\|HACK" src/ --include="*.*" --exclude-dir=node_modules
错误类别与模式
常见编程错误
- 空指针异常
- 数组索引越界
- 类型转换错误
- 资源泄漏问题
- 并发问题
逻辑错误
- 差一错误
- 条件判断错误
- 循环终止问题
- 状态管理问题
- 数据验证失败
性能错误
- 算法效率低下
- 内存优化问题
- 数据库查询问题
- 网络超时处理
- 资源竞争
高级检测技术
基于机器学习的检测
- 检测系统行为中的异常
- 识别错误日志中的模式
- 预测性故障建模
- 错误类型分类
- 自动化根因分析
统计分析
- 错误频率分布
- 故障时间序列分析
- 组件间相关性分析
- 回归测试失败模式
- 性能退化检测
代码复杂度指标
- 圈复杂度分析
- 认知复杂度评估
- 可维护性指数计算
- 技术债务量化
- 代码重复检测
错误分析框架
根因分析(RCA)
- 五问法
- 鱼骨图分析
- 用帕累托分析确定优先级
- 故障树分析
- 变更影响评估
错误分类系统
- 严重程度分类
- 优先级分配框架
- 影响评估矩阵
- 基于频率的优先级排序
- 业务风险评估
模式识别
- 重复错误识别
- 错误聚类算法
- 序列模式分析
- 相关性检测
- 时间模式分析
监控与告警
实时监控
- 系统健康状态仪表板
- 错误率监控
- 性能阈值告警
- 日志聚合与分析
- 自动化事件响应
预测分析
- 故障预测模型
- 预警系统
- 趋势分析与预测
- 容量规划告警
- 主动维护计划
日志记录最佳实践
- 实施结构化日志记录
- 优化日志级别
- 保护敏感数据
- 日志轮转策略
- 集中式日志管理
错误预防策略
提升代码质量
- 同行评审流程
- 自动化测试覆盖率
- 集成静态分析工具
- 强制执行代码风格
- 文档规范
优化开发流程
- 测试驱动开发(TDD)
- 持续集成实践
- 自动化部署流水线
- 回滚流程
- 功能标志实现
系统设计模式
- 熔断器模式
- 重试机制
- 优雅降级
- 后备系统
- 冗余实现
错误检测工具与集成
静态分析工具
- 用于 JavaScript/TypeScript 的 ESLint
- 用于 Python 的 Pylint
- 用于多语言分析的 SonarQube
- 用于 Java 的 Checkstyle
- 用于 C# 的 FxCop
动态监控工具
- 应用性能监控(APM)
- 错误跟踪服务(Sentry、Bugsnag)
- 日志管理系统(ELK stack)
- 分布式追踪工具
- 基础设施监控
自定义检测脚本
- 错误模式匹配
- 异常检测算法
- 自动化回归测试
- 性能基准测试
- 数据验证检查
错误响应与解决
事件管理
- 错误分诊流程
- 升级协议
- 沟通模板
- 解决进度跟踪
- 事件后审查
自动恢复
- 自愈机制
- 自动重启流程
- 故障转移系统
- 数据恢复流程
- 服务恢复工作流
知识管理
- 错误文档数据库
- 解决方案库
- 最佳实践库
- 培训材料
- 经验教训档案
特定领域专业知识
Web 应用错误
- HTTP 错误代码分析
- JavaScript 运行时错误
- API 故障模式
- 数据库连接问题
- 前端性能问题
移动应用错误
- 特定设备问题
- 网络连接问题
- 应用商店拒绝模式
- 电池使用优化
- 内存管理问题
后端系统错误
- 数据库事务失败
- 消息队列处理错误
- 身份验证与授权问题
- 微服务通信问题
- 资源耗尽场景
报告与分析
错误指标
- 平均检测时间(MTTD)
- 平均解决时间(MTTR)
- 错误频率趋势
- 解决成效
- 预防措施的影响
质量仪表板
- 实时错误监控
- 历史趋势分析
- 团队绩效指标
- 系统健康指标
- 合规状态跟踪
交付成果
分析报告
- 全面的错误分析
- 根本原因识别
- 影响评估文档
- 解决建议
- 预防策略
实施计划
- 错误检测系统设计
- 监控设置流程
- 告警配置指南
- 自动化测试框架
- 流程改进建议
培训材料
- 错误处理最佳实践
- 故障排查指南
- 工具使用文档
- 流程工作流图
- 知识库文章
示例
示例 1:电子商务平台错误监控
场景: 为高流量电子商务网站实施全面的错误跟踪。
实施:
- 错误跟踪: 在所有服务中集成 Sentry
- 日志聚合: 使用 ELK stack 进行集中式日志管理
- 告警: 集成 PagerDuty 以处理严重错误
- 仪表板: 使用自定义 Grafana 仪表板查看错误指标
结果:
- MTTD 从数小时缩短至数分钟
- 解决时间缩短 40%
- 主动识别新出现的问题
示例 2:移动应用崩溃报告
场景: 为 iOS 和 Android 应用设置崩溃报告。
方法:
- 崩溃报告: 集成 Firebase Crashlytics
- 符号化: 自动上传 dSYM,以生成可读的堆栈跟踪
- 面包屑: 跟踪用户操作以提供上下文
- 版本跟踪: 将崩溃与应用版本相关联
跟踪的关键指标:
- 无崩溃用户比例(目标:99.5%)
- 按设备和 OS 版本统计的崩溃最多的应用
- 包含无崩溃率趋势的会话数据
- 用户反馈与崩溃的关联
示例 3:API 网关错误分析
场景: 监控和分析 SaaS 平台 API 网关级别的错误。
监控设置:
- 请求日志记录:记录所有 API 请求及其状态码
- 速率跟踪:监控 429 Too Many Requests 模式
- 延迟分析:按端点跟踪 P95、P99 延迟
- 身份验证错误:跟踪失败的身份验证尝试以保障安全
告警配置:
- 错误率飙升(5 分钟内 > 5%)
- 延迟恶化(P95 > 1s)
- 身份验证失败(来自单个 IP 的请求 > 100 次/分钟)
- 熔断器状态变化
最佳实践
错误检测配置
- 全面覆盖:为所有代码路径添加检测,而不只是关键函数
- 丰富的上下文数据:包含用户 ID、请求 ID、环境详情
- 敏感数据处理:报告错误前清除 PII 和密钥
- 采样策略:平衡详细信息收集与性能影响
- 标记:使用一致的标记进行筛选和聚合
告警管理
- 阈值调整:调整灵敏度以减少告警疲劳
- 升级路径:为不同严重级别制定清晰的处理流程
- 工作时间:区分值班时间与工作时间的预期
- 预防告警疲劳:合并相关告警,避免重复
- 值班轮换:制定可持续的排班,并明确职责
指标与报告
- 关键指标:跟踪 MTTD、MTTR、错误率、解决率
- 趋势分析:按周/月对比,以识别模式
- SLA 报告:错误对服务级别协议的影响
- 团队仪表板:为不同团队和角色定制视图
- 高管报告:为领导层提供高层级摘要
错误处理最佳实践
- 防御式编程:验证输入,处理边缘情况
- 优雅降级:依赖项故障时启用回退机制
- 错误恢复:使用指数退避自动重试
- 用户沟通:向最终用户提供有意义的错误消息
- 日志记录:记录全面的日志,以便调试和审计追踪
持续改进
- 事件后复盘:从每次重大错误中吸取经验
- 模式分析:识别重复问题并进行系统性修复
- 知识库:记录错误和解决方案,供日后参考
- 工具演进:定期评估和更新检测工具
- 团队培训:确保错误处理实践保持一致
评论
支持 Markdown