用途:帮助开发者调试失败的 Solana 程序或交易,当用户提到“debug my program”“program error”“transaction failed”“stuck”等情况时使用。该技能属于 Idea → Build → Launch 流程中的 Phase 2(Build)。
主要能力:按结构化流程排查而非猜测。流程包括:优先向用户索取确切错误信息、交易签名或程序日志;解析错误信息,识别错误码、程序与指令索引;用 connection.simulateTransaction(tx) 模拟交易获取完整日志;检查账户是否存在、owner、余额与数据;若涉及 CPI,则追踪调用链找出真正失败的程序;应用修复后在 devnet 测试确认。技能覆盖最常见的 Solana 开发错误及其修复,并建议使用 Surfpool 分叉状态、重放交易以实现可复现调试。
使用方式:先查看 .superstack/build-context.md 获取上下文,缺失时收集并写入。常用命令(保持原样):solana confirm -v <TX_SIGNATURE>、solana logs <PROGRAM_ID>、solana account <ACCOUNT_ADDRESS> --output json、anchor idl fetch <PROGRAM_ID>、surfpool start --network mainnet、surfpool start --rpc-url <RPC_URL>。错误码参考:Anchor 自定义程序错误为 6000+,0x1 为余额不足,0x0 为成功。调试会话结束会更新 build-context.md 的 debug.issues_resolved 与 debug.last_debug_session,采用深度合并不覆盖既有字段。
适用场景:Solana 程序报错、交易失败、卡住、账户状态异常、CPI 调用失败等。
限制:无确切错误信息或交易签名前不猜测;发送前必须先模拟;不要在不理解失败原因时建议“重试”。连续 3 次尝试仍无进展,应换思路或升级到社区资源。另含一次性遥测提示机制,可写入 ~/.superstack/config.json 关闭。具体收费、价格、平台支持范围及参考资料细节暂未提供。