买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:蚂蚁区块链科技(上海)有限公司
摘要:本说明书实施例提供一种用于智能合约的调试方法、调试设备和调试系统。调试方法包括:获取智能合约的包括调试信息的第一字节码程序文件,或者智能合约的第一字节码程序文件以及包括调试信息的调试信息文件;对第一字节码程序文件进行修改,以产生包含用于调用中断处理函数的第一指令和用于调用堆栈维护函数的第二指令的第二字节码程序文件;对第二字节码程序文件进行编译,以产生机器码程序文件;以及根据断点信息和调试命令,以调试状态来执行机器码程序文件,并结合函数列表信息和映射信息对智能合约进行调试。
主权项:1.一种用于智能合约的调试方法,包括:虚拟机获取所述智能合约的包括调试信息的第一字节码程序文件,或者所述虚拟机获取所述智能合约的第一字节码程序文件以及包括调试信息的调试信息文件,其中,所述调试信息包括所述智能合约的源码与字节码之间的映射信息以及函数列表信息;在所述虚拟机中对所述第一字节码程序文件进行修改,以产生包含用于调用中断处理函数的第一指令和用于调用堆栈维护函数的第二指令的第二字节码程序文件,并相应地修改所述映射信息,其中,所述中断处理函数用于确定是否在其所在的当前运行位置处中断运行,所述堆栈维护函数用于记录在其所在的当前运行位置处的函数调用状态;在所述虚拟机中对所述第二字节码程序文件进行编译,以产生机器码程序文件;以及根据所述虚拟机获取的断点信息和调试命令,在所述虚拟机中以调试状态来执行所述机器码程序文件,并结合所述函数列表信息和所述映射信息对所述智能合约进行调试,其中,在所述虚拟机中对所述第一字节码程序文件进行修改,以产生包含用于调用中断处理函数的第一指令和用于调用堆栈维护函数的第二指令的第二字节码程序文件包括在所述虚拟机的调试器线程中执行以下操作:将所述第一字节码程序文件划分成一个或多个函数;针对所述一个或多个函数中的至少一个函数,分别执行以下操作:加入所述第二指令;将函数划分成一个或多个基本块,使得该函数中的每条指令被包括且仅被包括在所述一个或多个基本块中的相应的一个基本块中,其中,每个基本块包括一条或多条指令,且一旦基本块被运行,包含在该基本块中的所有的指令被全部运行;在函数中的至少一个基本块加入所述第一指令。
全文数据:
权利要求:
百度查询: 蚂蚁区块链科技(上海)有限公司 用于智能合约的调试方法、调试设备和调试系统
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。