SuperAPI AI 工具集

troubleshoot-errors

部署与运维

查看项目

更新于 10-15 19:57

技能介绍

用途:该技能用于诊断并修复 Aptos Move 的编译、运行时和部署错误,触发词包括 error、fix this、debug、troubleshoot、why is this failing。

主要能力:提供三步快速分诊工作流,先识别错误类别(编译、链接、运行时中止、对象、测试、类型错误),再给出十大常见错误的快速修复,例如 object does not exist、RESOURCE_NOT_FOUND、Type mismatch、Ability constraint not satisfied、missing acquires、Named address not found、Package dependencies not resolved、ungated transfers disabled 等。完整错误库见 references/error-catalog.md。

重点内容:对象相关错误(Aptos Move V2 中最常见且复杂)被单列,包括对象地址不存在、未启用 ungated transfers、对象地址派生不一致等。示例说明:铸造代币进集合时应使用集合所有者签名者,而非集合自身签名者;named object 创建与访问需使用一致的种子;调用 object::disable_ungated_transfer 后应改用 object::transfer_with_ref,默认启用时用 object::transfer。还列出常见模式:borrow_global 需要地址而非 Object、缺 acquires 子句、避免魔术数字错误码。

使用方式:按“识别类别→查常见错误→应用修复”流程操作;可用 std::debug 的 debug::print 添加调试输出,拆分复杂表达式,逐步测试,并根据错误码定位失败的断言;建议采用分段自定义错误码常量(访问控制、输入校验、状态、业务逻辑)。

限制与注意:资料强调不要读取 ~/.aptos/config.yaml 或 .env 来调试(含私钥),也不要用 echo $VITE_MODULE_PUBLISHER_ACCOUNT_PRIVATE_KEY 或 env | grep KEY,不要展示错误输出或用户消息中的私钥;验证账户配置应使用 aptos account list。不要忽略编译警告,不要用通用错误码,修复后必须做回归测试,不要带已知错误部署。具体命令、完整错误库和官方文档链接见其参考资料。