返回顶部
s

syncause-debugger运行时调试器

Diagnose and fix bugs using runtime execution traces. Use when debugging errors, analyzing failures, or finding root causes in Python, Node.js, or Java applications.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
260
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

syncause-debugger

Syncause 调试器

利用运行时追踪来增强错误修复:通过 SDK 收集运行时数据,然后使用 MCP 工具进行分析。

在修复之前,制定详细计划以确保不遗漏任何细节,始终包含 4 个阶段:设置 → 分析 → 总结 → 清理。

阶段 1:设置

预检查

  1. 1. MCP 服务器:此技能依赖于 debug-mcp-server MCP 服务器。如果不存在,停止并请求用户安装 MCP 服务器(匿名模式(默认)登录模式)。
  2. 身份验证:如果任何 MCP 工具返回 Unauthorized 错误,停止并请求用户配置 APIKEY(登录模式指南)。

通过检查依赖文件来验证 SDK 尚未安装:

  • - Java:pom.xml 或 build.gradle
  • Node.js:package.json
  • Python:requirements.txt 或 pyproject.toml

警告: .syncause 文件夹不是可靠指标。

步骤

  1. 1. 初始化项目:使用 setup_project(projectPath) 获取 projectId、apiKey 和 appName。这些是下一步安装 SDK 所必需的。
- 警告: 如果找不到工具或返回 Unauthorized,停止并遵循预检查
  1. 2. 安装 SDK:遵循语言指南:
- Java - Node.js - Python
  1. 3. 验证安装:重新读取依赖文件以确认 SDK 已添加
  2. 重启服务:优先在不同端口上启动新实例,而不是终止进程
  3. 搜索现有追踪:在复现错误之前,首先尝试 searchdebugtraces(projectId, query=<症状>) 来检查是否已存在相关追踪数据。
- 如果找到追踪 → 跳过复现,直接使用找到的 traceId 进入阶段 2:分析与修复。 - 如果未找到追踪 → 继续执行步骤 6 以复现错误。
  1. 6. 复现错误:触发问题以生成追踪数据

为确保生成的追踪数据高质量、可验证且易于分析,请遵循此结构化流程:

#### 6.1 错误类型识别

在尝试复现之前,首先识别错误类型:

| 类型 | 关键词 | 复现策略 |
|------|----------|----------------------|
| 崩溃 | 引发、抛出、错误 | 触发确切的异常,确保追踪包含完整的错误堆栈 |
| 行为 | 不工作、不正确、应该 | 使用断言证明不正确行为,比较预期输出与实际输出 |
| 性能 | 慢、N+1、查询次数 | 记录性能指标,比较基线与压力测试追踪数据 |

#### 6.2 复现层级

按优先级选择复现入口点:

级别 1 - 用户入口点(首选)
- 从用户调用的实际 API/CLI/UI 操作开始
- 示例:POST /api/login、cli_tool --arg value
- 优势:追踪包含从外部请求到内部错误点的完整调用链

级别 2 - 公共 API(备用)
- 直接调用内部公共函数
- 示例:Java:userService.authenticate()、Node.js:authController.login()、Python:User.objects.create_user()

级别 3 - 内部函数(最后手段)
- 直接调用导致错误的内部函数
- ⚠️ 必须在分析中记录为何跳过了上层

#### 6.3 边车复现技术

重用现有测试基础设施,而不是从头开始构建:

1. 探索现有测试:使用 grep -rn 错误关键词 tests/ 定位相关测试文件
2. 创建边车测试文件:在相关测试目录中创建两个新文件:
- testreproduceissue. - 错误复现脚本
- testhappypath. - 正常路径验证脚本
3. 创建辅助脚本(可选):对于复杂逻辑,动态生成 Python/Shell 脚本

禁止:❌ 创建 Mock 类,❌ 手动修改 sys.path,❌ 跳过项目标准启动流程

#### 6.4 复现脚本规范

reproduce_issue.(错误复现脚本)
python
# Python 示例
import sys
def runreproductionscenario():
# 1. 设置:使用项目标准方法初始化
# 2. 触发:执行问题中描述的核心操作
# 3. 验证:检查错误是否被触发
if bugisdetected:
print(BUG_REPRODUCED: [错误消息])
sys.exit(1) # 非零退出码表示存在错误
else:
print(BUGNOTREPRODUCED)
sys.exit(0)
if name == main:
runreproductionscenario()

happypathtest.(正常路径验证脚本)
- 使用与复现脚本相同的环境设置
- 使用有效输入调用相同的功能
- 包含实质性断言
- 成功执行时打印 HAPPYPATHSUCCESS

#### 6.5 执行复现脚本并收集追踪数据

1. 运行复现脚本
bash
# Python
python3 reproduce_issue.py
# Java
mvn test -Dtest=ReproduceIssueTest
# Node.js
npx jest reproduceIssue.test.js

2. 收集 traceId:调用 searchdebugtraces(projectId, query=错误关键词, limit=1)
3. 获取调用树报告:使用 gettraceinsight(projectId, traceId) 查找 [ERROR] 节点

#### 6.6 运行时追踪验证

检查清单
- [ ] 完整调用链:使用 gettraceinsight 检查调用树完整性
- [ ] 错误类型匹配:错误类型和位置与错误描述匹配
- [ ] 关键变量值:使用 inspectmethodsnapshot 检查参数/返回值/局部变量
- [ ] 足够的上下文:追踪包含请求参数、返回值、数据库查询等

当追踪不完整时
1. 调整复现脚本或入口点
2. 检查 SDK 配置
3. 使用 difftraceexecution 比较失败场景与成功场景的追踪

#### 6.7 复现质量门禁

在进入分析阶段之前,必须通过这些检查:

✓ reproduce_issue. 持续触发错误(非零退出码)
✓ happypathtest. 通过(零退出码)
✓ 追踪数据包含完整的错误堆栈和关键变量值
✓ 错误类型和位置与错误描述匹配
✓ 追踪提供足够的上下文信息

复现失败诊断
- 未按预期失败:检查脚本逻辑、输入数据,使用 gettraceinsight 查看执行路径
- 意外失败:检查环境、依赖项或脚本语法,使用 gettraceinsight 定位错误点

重要:每次调整后,重新运行复现脚本并收集新的追踪,然后再次通过质量门禁

阶段 2:分析与修复

步骤 1:查找追踪(如果在阶段 1 步骤 5 中已找到则跳过)

searchdebugtraces(projectId, query=<症状>) → 选择 traceId

步骤 2:获取调用树

gettraceinsight(projectId, traceId) → 查找 [ERROR] 节点

步骤 3:检查方法

inspectmethodsnapshot(projectId, traceId, className, methodName) → 检查参数/返回值/日志

步骤 4(可选):比较追踪

difftraceexecution(projectId, baseTraceId, compareTraceId) → 比较失败与成功

基于证据的推理(数据归因)

  1. 1. 注明来源:每当引用特定的运行时值或路径时,将其归因于检测工具。使用专业短语,例如:基于 Syncause 捕获的实时数据... 或 Syncause SDK 检测

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 runtime-debug-skill-1776177005 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 runtime-debug-skill-1776177005 技能

通过命令行安装

skillhub install runtime-debug-skill-1776177005

下载

⬇ 下载 syncause-debugger v1.0.0(免费)

文件大小: 14.04 KB | 发布时间: 2026-4-15 13:34

v1.0.0 最新 2026-4-15 13:34
syncause-debugger 1.0.0

- Initial release introducing Syncause Debugger skill for diagnosing and fixing bugs using runtime execution traces.
- Supports Java, Node.js, and Python applications through SDK instrumentation and integration with MCP server.
- Debug workflow structured in four required phases: Setup, Analyze & Fix, Summary, and Teardown.
- Detailed guidance for bug reproduction, ensuring high-quality, verifiable runtime traces.
- Built-in pre-checks for dependencies, environment, and authentication before proceeding.
- Reproduction strategies and trace validation checklists to maximize troubleshooting accuracy.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部