关于 sf-debug
sf-debug 是面向 Salesforce 开发者的技能,用于分析调试日志并追查故障根因。它按异常、治理限制、查询和资源压力组织分析,并给出修复建议与验证步骤。
主要功能
- 01Salesforce 日志获取指引
- 02堆栈跟踪与异常分析
- 03治理限制诊断
- 04SOQL、DML、CPU 和堆分析
- 05严重性分类与修复建议
适用场景
- 01查找 Salesforce 事务失败原因
- 02调查慢查询或重复 SOQL、DML
- 03根据日志诊断 CPU 或堆压力
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jaganpro/ sf-skills --skill sf-debug安装后在 Claude Code 中输入/sf-debug确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CREDITS.mdREADME.mdassets/benchmarking-template.clscpu-heap-optimization.clsdml-in-loop-fix.clsnull-pointer-fix.clssoql-in-loop-fix.clsreferences/analysis-playbook.mdbenchmarking-guide.mdcli-commands.mdcommon-issues.mddebug-log-reference.mdlog-analysis-tools.mdscoring-rubric.md详细介绍
sf-debug:Salesforce 调试日志分析与故障排查
当用户需要根据调试日志进行根因分析时,使用此技能:诊断管理器限制、解读堆栈跟踪、调查慢查询、分析堆内存 / CPU 压力,或根据日志证据进行从复现到修复的循环。
此技能适用的任务
遇到以下情况时,使用 sf-debug:
- Salesforce 的
.log文件 - 堆栈跟踪和异常分析
- 管理器限制
- SOQL / DML / CPU / 堆内存故障排查
- 从日志中提取的查询计划或性能证据
以下情况应委派给其他技能:
- 运行或修复 Apex 测试 → sf-testing
- 实现代码修复 → sf-apex
- 调试 Agentforce 会话跟踪 / parquet 遥测数据 → sf-ai-agentforce-observability
首先收集所需上下文
询问或推断:
- 组织别名
- 失败的事务 / 用户流程 / 测试名称
- 大致的时间戳或事务时间范围
- 已知的用户 / 记录 / 请求 ID
- 目标是仅进行诊断,还是进行诊断并完成修复循环
建议的工作流
1. 获取日志
sf apex list log --target-org <alias> --json
sf apex get log --log-id <id> --target-org <alias>
sf apex tail log --target-org <alias> --color
2. 按以下顺序分析
- 入口点和事务类型
- 异常 / 致命错误
- 管理器限制
- 重复的 SOQL / DML 模式
- CPU / 堆内存热点
- 调用时间和外部故障
3. 判定严重程度
- 严重 — 运行时失败、触及硬性限制、存在数据损坏风险
- 警告 — 接近限制、查询非选择性、执行路径缓慢
- 信息 — 优化机会或代码卫生问题
4. 建议最小且正确的修复方案
优先选择符合以下条件的修复方案:
- 针对根因
- 支持批量处理
- 可测试
- 易于通过重新运行验证
扩展工作流:references/analysis-playbook.md
高信号问题模式
| 问题 | 主要信号 | 默认修复方向 |
|---|---|---|
| 循环中的 SOQL | 重复调用路径中反复出现 SOQL_EXECUTE_BEGIN | 只查询一次,使用映射 / 分组集合 |
| 循环中的 DML | 重复出现 DML_BEGIN 模式 | 收集记录,一次性执行批量 DML |
| 查询非选择性 | 扫描行数过多 / 选择性差 | 添加索引筛选条件,缩小范围 |
| CPU 压力 | CPU 用量接近同步限制 | 降低算法复杂度、缓存,或在适用时改为异步处理 |
| 堆内存压力 | 堆内存用量接近同步限制 | 使用 SOQL for 循环进行流式处理,减少内存中的数据 |
| 空指针 / 致命错误 | 出现 EXCEPTION_THROWN / FATAL_ERROR | 为可能为空的情况添加保护,修复空查询处理逻辑 |
扩展示例:references/common-issues.md
输出格式
完成分析时,按以下顺序报告:
- 失败内容
- 失败位置(类 / 方法 / 行 / 事务阶段)
- 失败原因(根因,而不只是症状)
- 严重程度
- 建议的修复方案
- 验证步骤
建议格式:
Issue: <summary>
Location: <class / line / transaction>
Root cause: <explanation>
Severity: Critical | Warning | Info
Fix: <specific action>
Verify: <test or rerun step>
跨技能协作
| 需求 | 委派给 | 原因 |
|---|---|---|
| 实现 Apex 修复 | sf-apex | 生成 / 审查代码变更 |
| 通过测试复现 | sf-testing | 测试执行和覆盖率循环 |
| 部署修复 | sf-deploy | 部署编排 |
| 创建调试数据 | sf-data | 定向种子数据 / 复现数据 |
参考索引
从这里开始
深入参考
评分标准
评分指南
| 分数 | 含义 |
|---|---|
| 90+ | 专业分析,并提供明确的修复指导 |
| 80–89 | 分析良好,但有少量遗漏 |
| 70–79 | 可以接受,但可能遗漏次要问题 |
| 60–69 | 仅完成部分诊断 |
| < 60 | 分析不完整 |
评论
支持 Markdown