1.一种调试方法,所述方法包括:
响应于程序启动,创建数据表;所述数据表包括一个操作数据表和至少一个功能数据表;
基于程序运行时的操作步骤及每一个所述操作步骤的执行顺序,在所述数据表中存储程序运行时的操作记录;其中,所述操作记录包括存储至所述操作数据表中的第一子操作记录、存储至所述功能数据表中的第二子操作记录;
响应于检测到程序运行异常,重新启动所述程序;
确定程序运行开始出现异常时的操作步骤,并根据所述程序运行开始出现异常时的操作步骤确定操作回退步数,所述操作回退步数小于等于所述程序运行异常前的操作步骤数;基于所述操作回退步数从所述数据表中的操作记录中确定出待执行的第一子操作记录和对应的待执行的第二子操作记录,并将所述待执行的第一子操作记录和对应的所述待执行的第二子操作记录确定为待执行的操作记录;在所述待执行的操作记录中添加日志信息输出指令;基于所述待执行的操作记录和所述日志信息输出指令,运行所述重新启动后的程序并输出日志信息,所述日志信息包括运行所述重新启动后的程序产生的函数名称和关键变量;将所述待执行的操作记录中的函数名称和关键变量,与所述日志信息中的函数名称和关键变量进行比较,得到异常变量;
基于所述异常变量,修复所述程序。
2.根据权利要求1所述的方法,其中,所述在所述数据表中存储程序运行时的操作记录包括:基于所述程序运行时的操作步骤,生成对应的多条操作记录,其中,所述操作记录包括操作时间、操作标识、函数名称和关键变量;
将所述多条操作记录存储到所述数据表中。
3.根据权利要求2所述的方法,其中,所述操作记录还包括功能标识;
所述将所述多条操作记录存储到所述数据表中包括:
将所述操作记录中的操作时间、操作标识和功能标识作为第一子操作记录,存储在所述操作数据表中;
将所述操作记录中的操作标识、函数名称和关键变量作为第二子操作记录,存储在所述功能标识对应的功能数据表中。
4.根据权利要求3所述的方法,其中,所述基于所述操作回退步数从所述数据表中的操作记录中确定出待执行的第一子操作记录和对应的待执行的第二子操作记录,并将所述第一子操作记录和对应的所述第二子操作记录确定为待执行的操作记录包括:基于所述操作回退步数,从所述操作数据表中确定出待执行的第一子操作记录;
基于所述待执行的第一子操作记录中的功能标识,从所述至少一个功能数据表中确定出目标功能数据表;
基于所述待执行的第一子操作记录中的操作标识,从所述目标功能数据表中确定出待执行的第二子操作记录;
基于所述操作标识,将所述待执行的第一子操作记录和对应的所述待执行的第二子操作记录确定为所述待执行的操作记录。
5.根据权利要求3‑4任一项所述的方法,其中,所述基于所述待执行的操作记录和所述日志信息输出指令,运行所述重新启动后的程序并输出日志信息包括:基于所述待执行的操作记录中的函数名称和关键变量,确定待运行的目标操作步骤;
基于所述待执行的操作记录中的操作时间,得到所述目标操作步骤的执行顺序;
基于所述日志信息输出指令在所述待执行的操作记录中的添加位置,确定输出日志信息的时间节点;
运行所述重新启动后的程序,按照所述执行顺序依次执行所述目标操作步骤,并基于所述时间节点输出日志信息。
6.一种跨平台调试方法,应用于权利要求1‑5任一项所述的方法中,所述方法包括:响应于程序在第一平台运行,创建第一数据表,将所述程序在所述第一平台运行时的操作记录存储到所述第一数据表中;
响应于所述程序在所述第一平台运行时发生异常,在第二平台加载所述第一数据表,创建第二数据表;
基于所述第一数据表中的所述操作记录,在所述第二平台运行所述程序,将所述程序在所述第二平台运行时的操作记录存储到所述第二数据表中;
将所述第一数据表与所述第二数据表进行比较,确定异常变量;
基于所述异常变量,在所述第一平台上调试并修复所述程序。
7.一种调试装置,所述装置包括:
创建模块,被配置为响应于程序启动,创建数据表;所述数据表包括一个操作数据表和至少一个功能数据表;
存储模块,被配置为基于程序运行时的操作步骤及每一个所述操作步骤的执行顺序,在所述数据表中存储程序运行时的操作记录;其中,所述操作记录包括存储至所述操作数据表中的第一子操作记录、存储至所述功能数据表中的第二子操作记录;
重启模块,被配置为响应于检测到程序运行异常,重新启动所述程序;
调试模块,被配置为确定程序运行开始出现异常时的操作步骤,并根据所述程序运行开始出现异常时的操作步骤确定操作回退步数,所述操作回退步数小于等于所述程序运行异常前的操作步骤数;基于所述操作回退步数从所述数据表中的操作记录中确定出待执行的第一子操作记录和对应的待执行的第二子操作记录,并将所述待执行的第一子操作记录和对应的所述待执行的第二子操作记录确定为待执行的操作记录;在所述待执行的操作记录中添加日志信息输出指令;基于所述待执行的操作记录和所述日志信息输出指令,运行所述重新启动后的程序并输出日志信息,所述日志信息包括运行所述重新启动后的程序产生的函数名称和关键变量;将所述待执行的操作记录中的函数名称和关键变量,与所述日志信息中的函数名称和关键变量进行比较,得到异常变量;
修复模块,被配置为基于所述异常变量,修复所述程序。
8.根据权利要求7所述的装置,其中,所述存储模块包括:
生成子模块,被配置为基于所述程序运行时的操作步骤,生成对应的多条操作记录,其中,所述操作记录包括操作时间、操作标识、函数名称和关键变量;
存储操作记录子模块,被配置为将所述多条操作记录存储到所述数据表中。
9.根据权利要求8所述的装置,其中,所述操作记录还包括功能标识;
所述存储操作记录子模块包括:
第一存储单元,被配置为将所述操作记录中的操作时间、操作标识和功能标识作为第一子操作记录,存储在所述操作数据表中;
第二存储单元,被配置为将所述操作记录中的操作标识、函数名称和关键变量作为第二子操作记录,存储在所述功能标识对应的功能数据表中。
10.根据权利要求9所述的装置,其中,所述调试模块包括:第一确定单元,被配置为基于所述操作回退步数,从所述操作数据表中确定出待执行的第一子操作记录;
第二确定单元,被配置为基于所述待执行的第一子操作记录中的功能标识,从所述至少一个功能数据表中确定出目标功能数据表;
第三确定单元,被配置为基于所述待执行的第一子操作记录中的操作标识,从所述目标功能数据表中确定出待执行的第二子操作记录;
第四确定单元,被配置为基于所述操作标识,将所述待执行的第一子操作记录和对应的所述待执行的第二子操作记录确定为所述待执行的操作记录。
11.根 据权利要求9‑10任一项所述的装置,其中,所述调试模块还包括:第五确定单元,被配置为基于所述待执行的操作记录中的函数名称和关键变量,确定待运行的目标操作步骤;
第六确定单元,被配置为基于所述待执行的操作记录中的操作时间,得到所述目标操作步骤的执行顺序;
第七确定单元,被配置为基于所述日志信息输出指令在所述待执行的操作记录中的添加位置,确定输出日志信息的时间节点;
输出单元,被配置为运行所述重新启动后的程序,按照所述执行顺序依次执行所述目标操作步骤,并基于所述时间节点输出日志信息。
12.一种跨平台调试装置,被配置为执行权利要求6所述的方法,所述装置包括:第一运行模块,被配置为响应于程序在第一平台运行,创建第一数据表,将所述程序在所述第一平台运行时的操作记录存储到所述第一数据表中;
运行异常模块,被配置为响应于所述程序在所述第一平台运行时发生异常,在第二平台加载所述第一数据表,创建第二数据表;
第二运行模块,被配置为基于所述第一数据表中的所述操作记录,在所述第二平台运行所述程序,将所述程序在所述第二平台运行时的操作记录存储到所述第二数据表中;
比较模块,被配置为将所述第一数据表与所述第二数据表进行比较,确定异常变量;
调试修复模块,被配置为基于所述异常变量,在所述第一平台上调试并修复所述程序。
13.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑6任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1‑6任一项所述的方法。