[发明专利]一种程序容错方法及程序容错装置在审
申请号: | 201710882509.7 | 申请日: | 2017-09-26 |
公开(公告)号: | CN107479941A | 公开(公告)日: | 2017-12-15 |
发明(设计)人: | 徐佳宏;梁达源;朱吕亮 | 申请(专利权)人: | 深圳市茁壮网络股份有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 王仲凯 |
地址: | 518004 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 容错 方法 装置 | ||
1.一种程序容错方法,其特征在于,包括:
对第一程序进行解析,生成第一字节码,其中,所述第一程序中各循环语句均设置有头部标识和尾部标识;
确定所述第一字节码中各循环语句的循环语句类型;
根据所述头部标识、所述尾部标识及确定的所述循环语句类型,确定每条循环语句偏移到下一条语句所需的偏移量,对每条循环语句:建立该循环语句与该循环语句偏移到下一条语句所需的偏移量的对应关系;
获得所述第一字节码发生的第一错误的错误记录,根据所述错误记录确定所述第一错误是否为循环语句的条件判断错误,如果是,则控制所述第一错误所在的循环语句向后偏移与该循环语句对应的偏移量以执行下一条语句。
2.根据权利要求1所述的方法,其特征在于,所述确定所述第一字节码中各循环语句的循环语句类型,包括:
根据所述头部标识和所述尾部标识确定各循环语句对应的字节码;
对每一循环语句对应的字节码:获得该循环语句对应的字节码中的关键字;
根据所述关键字确定该循环语句的循环语句类型。
3.根据权利要求2所述的方法,其特征在于,所述关键字包括:for、while和do,所述根据所述关键字确定该循环语句的循环语句类型,包括:
在该循环语句对应的字节码中的关键字为for时,确定该循环语句的循环语句类型为for循环语句;
在该循环语句对应的字节码中的关键字为while时,确定该循环语句的循环语句类型为while循环语句;
在该循环语句对应的字节码中的关键字为do和while时,确定该循环语句的循环语句类型为do while循环语句。
4.根据权利要求3所述的方法,其特征在于,所述根据所述头部标识、所述尾部标识及确定的所述循环语句类型,确定每条循环语句偏移到下一条语句所需的偏移量,包括:
对循环语句类型为for循环语句或while循环语句的循环语句:将该循环语句的头部标识所标识的语句到与该循环语句相邻的下一条语句之间的字节码大小确定为该循环语句偏移到与该循环语句相邻的下一条语句所需要的偏移量;
对循环语句为do while循环语句的循环语句:将该循环语句的尾部标识所标识的语句到与该循环语句相邻的下一条语句之间的字节码大小确定为该循环语句偏移到与该循环语句相邻的下一条语句所需要的偏移量。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述根据所述错误记录确定所述第一错误是否为循环语句的条件判断错误,包括:
根据所述错误记录中的错误位置确定所述第一错误是否发生在循环语句的条件判断语句中;如果是,则确定所述错误记录中的错误类型是否为预设条件错误类型中的一种,如果是,则确定所述第一错误为循环语句的条件判断错误。
6.根据权利要求5所述的方法,其特征在于,所述控制所述条件判断错误所在的循环语句向后偏移与该循环语句对应的偏移量以执行下一条语句,包括:
为所述条件判断错误添加偏移标识,控制添加有偏移标识的错误所在的循环语句向后偏移与该循环语句对应的偏移量以执行下一条语句。
7.一种程序容错装置,其特征在于,包括:程序解析模块、循环语句确定模块、偏移确定模块和偏移执行模块;
所述程序解析模块,用于对第一程序进行解析,生成第一字节码,其中,所述第一程序中各循环语句均设置有头部标识和尾部标识;
所述循环语句确定模块,用于确定所述第一字节码中各循环语句的循环语句类型;
所述偏移确定模块,用于根据所述头部标识、所述尾部标识及确定的所述循环语句类型,确定每条循环语句偏移到下一条语句所需的偏移量,对每条循环语句:建立该循环语句与该循环语句偏移到下一条语句所需的偏移量的对应关系;
所述偏移执行模块,用于获得所述第一字节码发生的第一错误的错误记录,根据所述错误记录确定所述第一错误是否为循环语句的条件判断错误,如果是,则控制所述第一错误所在的循环语句向后偏移与该循环语句对应的偏移量以执行下一条语句。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市茁壮网络股份有限公司,未经深圳市茁壮网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710882509.7/1.html,转载请声明来源钻瓜专利网。