一种程序容错方法及程序容错装置制造方法及图纸

技术编号:16818879 阅读:47 留言:0更新日期:2017-12-16 12:13
本发明专利技术公开了一种程序容错方法及程序容错装置,其中方法包括:对第一程序进行解析,生成第一字节码,第一程序中各循环语句均设置有头部标识和尾部标识;确定第一字节码中各循环语句的循环语句类型;根据头部标识、尾部标识及循环语句类型,确定每条循环语句偏移到下一条语句所需的偏移量并建立该循环语句与该循环语句偏移到下一条语句所需偏移量的对应关系;获得第一字节码发生的第一错误的错误记录,根据错误记录确定第一错误为循环语句的条件判断错误时控制第一错误所在的循环语句向后偏移与该循环语句对应的偏移量以执行下一条语句。本发明专利技术能够在循环语句中发生条件判断错误时,跳出循环语句,避免程序进入死循环导致系统崩溃。

A program fault tolerant method and program fault-tolerant device

The invention discloses a program fault tolerant method and fault-tolerant device, wherein the method comprises the following steps: analyzing the first generation program, the first byte code, the first program in the loop are provided with head and tail logo logo; determine the loop the first byte codes in the loop type; according to the head and tail logo and logo loop type, each loop to determine the offset is required to offset the next statement and establish corresponding relationship between the loop and the loop offset to the next statement required to offset the first mistake record; get the first byte code occurred, according to the offset error where the first loop control with the backward offset loop corresponding error record to determine the first error loop condition judgment error when executing the next statement. This invention can jump out of the loop sentence when the condition judgment is wrong in the loop statement, so as to avoid the program entering the dead cycle and cause the system to collapse.

【技术实现步骤摘要】
一种程序容错方法及程序容错装置
本专利技术涉及程序容错
,特别涉及一种程序容错方法及程序容错装置。
技术介绍
容错是由于种种原因在引擎中的程序发生各种错误时,例如变量、函数没有定义、各种笔误等,程序会在一定范围内包容或允许错误的发生,使系统能够连续正常运行。在现有的容错技术下,系统捕捉程序中的错误。当程序中循环语句中发生条件判断错误时,系统在现有容错技术的作用下,使循环语句在程序不终止的情况下一直循环执行,导致程序无法跳出,然后进入死循环。程序进入死循环后,程序无法继续执行下去,导致程序崩溃,使系统无法正常运行下去。
技术实现思路
有鉴于此,本专利技术提供一种程序容错方法及程序容错装置。该容错方法在引擎捕捉到程序中循环语句中条件判断语句发生错误时,在不终止引擎运行的情况下,使程序跳出发生错误的循环语句,继续执行下一条语句,使系统能够正常运行。具体技术方案如下:一种程序容错方法,包括:对第一程序进行解析,生成第一字节码,其中,所述第一程序中各循环语句均设置有头部标识和尾部标识;确定所述第一字节码中各循环语句的循环语句类型;根据所述头部标识、所述尾部标识及确定的所述循环语句类型,确定每本文档来自技高网...
一种程序容错方法及程序容错装置

【技术保护点】
一种程序容错方法,其特征在于,包括:对第一程序进行解析,生成第一字节码,其中,所述第一程序中各循环语句均设置有头部标识和尾部标识;确定所述第一字节码中各循环语句的循环语句类型;根据所述头部标识、所述尾部标识及确定的所述循环语句类型,确定每条循环语句偏移到下一条语句所需的偏移量,对每条循环语句:建立该循环语句与该循环语句偏移到下一条语句所需的偏移量的对应关系;获得所述第一字节码发生的第一错误的错误记录,根据所述错误记录确定所述第一错误是否为循环语句的条件判断错误,如果是,则控制所述第一错误所在的循环语句向后偏移与该循环语句对应的偏移量以执行下一条语句。

【技术特征摘要】
1.一种程序容错方法,其特征在于,包括:对第一程序进行解析,生成第一字节码,其中,所述第一程序中各循环语句均设置有头部标识和尾部标识;确定所述第一字节码中各循环语句的循环语句类型;根据所述头部标识、所述尾部标识及确定的所述循环语句类型,确定每条循环语句偏移到下一条语句所需的偏移量,对每条循环语句:建立该循环语句与该循环语句偏移到下一条语句所需的偏移量的对应关系;获得所述第一字节码发生的第一错误的错误记录,根据所述错误记录确定所述第一错误是否为循环语句的条件判断错误,如果是,则控制所述第一错误所在的循环语句向后偏移与该循环语句对应的偏移量以执行下一条语句。2.根据权利要求1所述的方法,其特征在于,所述确定所述第一字节码中各循环语句的循环语句类型,包括:根据所述头部标识和所述尾部标识确定各循环语句对应的字节码;对每一循环语句对应的字节码:获得该循环语句对应的字节码中的关键字;根据所述关键字确定该循环语句的循环语句类型。3.根据权利要求2所述的方法,其特征在于,所述关键字包括:for、while和do,所述根据所述关键字确定该循环语句的循环语句类型,包括:在该循环语句对应的字节码中的关键字为for时,确定该循环语句的循环语句类型为for循环语句;在该循环语句对应的字节码中的关键字为while时,确定该循环语句的循环语句类型为while循环语句;在该循环语句对应的字节码中的关键字为do和while时,确定该循环语句的循环语句类型为dowhile循环语句。4.根据权利要求3所述的方法,其特征在于,所述根据所述头部标识、所述尾部标识及确定的所述循环语句类型,确定每条循环语句偏移到下一条语句所需的偏移量,包括:对循环语句类型为for循环语句或while循环语句的循环语句:将该循环语句的头部标识所标识的语句到与该循环语句相邻的下一条语句之间的字节码大小确定为该循环语句偏移到与该循环语句相邻的下一条语句所需要的偏移量;对循环语句为dowhile循环语句的循环语句:将该循环语句的尾部标识所标识的语句到与该循环语句相邻的下一条语句之间的字节码大小确定为该循环语句偏移到与该循环语句相邻的下一条语句所需要的偏移量。5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述根据所述错误记录确定所述第一错误是否为循环语句的条件判断错误,包括:根据所述错误记录中的错误位置确定所述第一错误是否发生在循环语句的条件判断语句中;如果是,则确定所述错误记录中的错误类型是否为预设条件错误类型中的一种,如果是,则确定所述第一错误为循环语句的条件判断错误。6.根据权利要求5所述的方法,其特征在于,所述控制所述条件判断错误所在的循环语句向后偏移与该循环语句对应的偏移量以执行下一条语句,包括:为所述条件判断错误添加偏移标识,控制添加有偏移标识的错误所在的循环语句向后偏移与该循环语句对应的偏移量以执行下一条语句。7.一种程序容错装置,其特征在...

【专利技术属性】
技术研发人员:徐佳宏梁达源朱吕亮
申请(专利权)人:深圳市茁壮网络股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1