CN115168175A - 程序错误解决方法、装置、电子设备和存储介质 - Google Patents

程序错误解决方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN115168175A
CN115168175A CN202110360771.1A CN202110360771A CN115168175A CN 115168175 A CN115168175 A CN 115168175A CN 202110360771 A CN202110360771 A CN 202110360771A CN 115168175 A CN115168175 A CN 115168175A
Authority
CN
China
Prior art keywords
program
error
version
application
repair
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110360771.1A
Other languages
English (en)
Inventor
庞锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdong Technology Holding Co Ltd
Original Assignee
Jingdong Technology Holding Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jingdong Technology Holding Co Ltd filed Critical Jingdong Technology Holding Co Ltd
Priority to CN202110360771.1A priority Critical patent/CN115168175A/zh
Publication of CN115168175A publication Critical patent/CN115168175A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

Abstract

本发明公开了一种程序错误解决方法、装置、电子设备和存储介质,其中,该方法包括:获取应用端上报的错误日志,其中,所述错误日志包括应用程序的运行错误信息;根据所述运行错误信息生成对应所述应用程序的修复版本程序;将所述修复版本程序编译为动态执行文件以使应用端根据预设的程序运行引擎运行所述修复版本程序。本发明实施例通过错误日志提高应用程序中程序错误定位的准确性,使用动态执行文件作为应用程序的修复版本程序,提高应用程序错误修复效率,减少应用程序更新周期,减少应用程序中程序错误出现率,提高用户的使用体验。

Description

程序错误解决方法、装置、电子设备和存储介质
技术领域
本发明实施例涉及计算机应用技术领域,尤其涉及一种程序错误解决方法、装置、电子设备和存储介质。
背景技术
应用软件可以是基于各种程序设计预先编制的应用程序集合,应用软件可以利用计算机解决某类问题,应用软件运行在应用端,可以与用户进行交互。应用端从服务器中下载应用软件并安装到本地,通过运行应用软件实现相应的业务逻辑。应用软件由于受到系统或者设计缺陷的影响出现程序错误,一般情况下开发者采用发布新版本的方式来修正应用软件中的程序错误,但是这种处理方式存在以下技术问题:
1)应用软件的新版本开发周期长,程序错误不能及时更正,在应用软件未发布的时间段内应用软件将会重复出现已存在的程序错误,导致用户对应用软件的使用体验下降。
2)应用软件的程序错误定位存在困难,由于应用软件的更新往往落后于程序错误出现,应用软件再现错误场景较为困难,导致应用软件中程序错误的定位难度增高,进一步延长应用软件的新版本发布周期。
发明内容
本发明提供一种程序错误解决方法、装置、电子设备和存储介质,以实现程序错误的精准定位,提高应用程序错误的响应效率,减少应用程序更新的等待时间,提高用户体验程度。
第一方面,本发明实施例提供了一种程序错误解决方法,该方法包括:
获取应用端上报的错误日志,其中,所述错误日志包括应用程序的运行错误信息;
根据所述运行错误信息生成对应所述应用程序的修复版本程序;
将所述修复版本程序编译为动态执行文件以使应用端根据预设的程序运行引擎运行所述修复版本程序。
第二方面,本发明实施例还提供了一种程序错误解决方法,该方法包括:
确定应用程序运行错误后上传错误日志到服务器,以使所述服务器根据所述错误日志生成修复版本程序,其中,所述错误日志包括所述应用程序的运行错误信息;
获取服务器发布的修复版本程序,并运行所述修复版本程序,其中,所述修复版本程序被编译为JavaScript文件。
第三方面,本发明实施例还提供了一种程序错误解决装置,该装置包括:
日志获取模块,用于获取应用端上报的错误日志,其中,所述错误日志包括应用程序的运行错误信息;
程序修复模块,用于根据所述运行错误信息生成对应所述应用程序的修复版本程序;
程序发布模块,用于将所述修复版本程序编译为动态执行文件以使应用端根据预设的程序运行引擎运行所述修复版本程序。
第四方面,本发明实施例还提供了另一种程序错误解决装置,该装置包括:
日志上报模块,用于确定应用程序运行错误后上传错误日志到服务器,以使所述服务器根据所述错误日志生成修复版本程序,其中,所述错误日志包括所述应用程序的运行错误信息;
程序获取模块,用于获取服务器发布的修复版本程序,并运行所述修复版本程序,其中,所述修复版本程序被编译为动态执行文件。
第五方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的程序错误解决方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本发明实施例中任一所述的程序错误解决方法。
本发明实施例,通过采集应用端上传的错误日志,使用错误日志中的运行错误信息生成对应应用程序的修复版本程序,将该修复版本程序编译为动态执行文件,使得应用端可以基于预设的程序运行引擎运行修复版本程序,通过错误日志实现程序错误的精准定位,提高应用程序错误的响应效率,将修复版本程序编译为动态执行文件,减少应用程序更新的等待时间,提高用户体验程度。
附图说明
图1是本发明实施例一提供的一种程序错误解决方法的流程图;
图2是本发明实施例二提供的一种程序错误解决方法的流程图;
图3是本发明实施例三提供的一种程序错误解决方法的流程图;
图4是本发明实施例四提供的一种程序错误解决方法的流程图;
图5是本发明实施例四提供的一种程序错误解决方法的示例图;
图6是本发明实施例五提供的一种程序错误解决装置的结构示意图;
图7是本发明实施例六提供的一种程序错误解决装置的结构示意图;
图8是本发明实施例七提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构,此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
图1是本发明实施例一提供的一种程序错误解决方法的流程图,本实施例可适用于快速修复应用程序错误的情况,该方法可以由程序错误解决装置来执行,该装置可以采用硬件和/或软件的方式来实现,一般可以集成在服务器中,参见图1,本发明实施例提供的方法具体包括如下步骤:
步骤110、获取应用端上报的错误日志,其中,错误日志包括应用程序的运行错误信息。
其中,应用端可以是用户使用的智能终端,应用端中可以运行一个或者多个应用程序。错误日志可以是记录应用程序出错信息的文本文件,错误日志包括应用程序的运行错误信息,该运行错误信息可以包括应用程序出现错误的错误类型、出现错误的时间、出现错误的事件操作、出现错误的事件以及出现错误的用户等,错误日志可以包括一条或者多条错误记录,每条记录可以记录一条应用程序的错误信息。
在本发明实施例中,可以对应用端进行监听,获取应用端上报的错误日志,应用端上传错误日志的时机可以在应用程序出现错误之后进行,例如,可以每当错误日志被更新后,应用端可以将更新后的错误日志上传,还可以每隔固定时间长度,应用端上传一次错误日志,服务器可以在对应时机接收到用户端上传的错误日志。进一步的,可以理解的是,获取到的错误日志可以包括一个应用程序或者多个应用程序的运行错误信息,应用端可以将不同应用程序的错误日志合并为一个错误日志,并将合并的错误日志上传到服务器。
步骤120、根据运行错误信息生成对应应用程序的修复版本程序。
其中,修复版本程序可以是修复了程序错误的应用程序,修复的程序错误可以由运行错误信息确定,修复版本程序具体可以是在原有应用程序的基础上改正了程序错误的软件程序。
具体的,可以对运行错误信息进行分析确定出应用程序中的程序错误,可以在应用程序的程序文件中对该程序错误进行修正,可以将修正后的应用程序作为修复版本程序。
步骤130、将修复版本程序编译为动态执行文件以使应用端根据预设的程序运行引擎运行修复版本程序。
其中,动态执行文件可以是在应用端中不需要进行按照即可运行的文件,例如,可以为JAVA Script文件或者VUE文件。程序运行引擎可以是应用端系统中的支撑部分,程序运行引擎可以支持动态执行文件的运行。
在本发明实施例中,可以将修复版本文件编译为动态执行文件,使得修改版本程序无需在应用端安装即可完成运行,服务器可以将完成编译的动态执行文件发布,使得应用端可以获取到该动态执行文件,并在应用端的程序运行引擎中运行该动态文件实现修复版本程序的运行。
本发明实施例,通过采集应用端上传的错误日志,使用错误日志中的运行错误信息生成对应应用程序的修复版本程序,将该修复版本程序编译为动态执行文件,使得应用端可以基于预设的程序运行引擎运行修复版本程序,通过错误日志实现程序错误的精准定位,提高应用程序错误的响应效率,将修复版本程序编译为动态执行文件,减少应用程序更新的等待时间,提高用户体验程度。
实施例二
图2是本发明实施例二提供的一种程序错误解决方法的流程图,本发明实施例是在上述发明实施例基础上的具体化,参见图2,本发明实施例提供的方法具体包括如下步骤:
步骤210、获取应用端上报的错误日志,其中,错误日志包括应用程序的运行错误信息。
步骤220、在应用程序的代码文本中确定运行错误信息对应的错误代码。
其中,代码文本可以是应用程序的源程序文件,代码文本中可以记录应用程序的处理逻辑,错误代码可以是在应用程序运行时产生错误的代码片段,错误代码可以导致应用程序逻辑运算错误或者导致应用程序无法正常运行。
在本发明实施例中,可以按照运行错误信息中的错误类型、出现错误的时间、出现错误的事件操作、出现错误的事件等信息在应用程序的代码文本中查找出现错误的代码文本片段,可以将查找到的代码文本片段作为错误代码。
步骤230、修复应用程序中错误代码,并将修复后的应用程序作为修复版本程序。
具体的,可以在应用程序的代码文本中对错误代码进行替换或者修正,使得修正后的代码文本在运行时不会出现程序错误,可以将修复后的应用程序作为修复版本程序。
进一步的,在上述发明实施例的基础上,所述修复应用程序中错误代码,包括:若所述错误代码为界面设计代码,则使用预设控件代码替换所述应用程序的所述错误代码;若所述错误代码为业务逻辑代码,则根据用户修改参数更新所述应用程序中的所述错误代码。
在本发明实施例中,错误代码可以为界面设计代码或者业务逻辑代码,其中,当错误代码为界面设计代码时,可以使用没有程序错误的预设控件代码替换错误代码,其中,预设控件代码可以是显示界面中控件的实现代码,可以是程序员通过修改UI界面代码生成,该预设空间代码在下发后由端上引擎及yoga引擎解析映射成各个安卓端或者IOS端对应的UI界面显示。当错误代码为业务逻辑代码时,可以获取用户输入的修改参数,可以通过该修改参数对错误代码进行替换或者更正,其中,用户修改参数可以是用户根据错误的业务逻辑输入的代码段或者业务参数,可以是程序员修改的业务逻辑代码。
步骤240、根据预设打包配置文件将修复版本程序打包为静态资源,其中,所述静态资源为动态执行文件格式。
其中,预设打包配置文件可以是将应用程序代码编译为静态资源的配置文件,预设打包配置文件可以按照预设的处理规则将应用程序代码转换为动态执行文件格式,预设打包配置文件具体可以为WebPack文件,该Webpack可以包括entry、chunk和loader,entry可以为修复版本程序的入口,chunk可以将将修复版本程序打包为Js静态资源,loader可以对修复版本程序进行文件转换,例如,可以将修复版本程序转换为如Javascript的动态执行文件格式。
具体的,可以将修复版本程序按照预设打包配置文件的处理规则进行处理,将该修复版本程序转换为动态执行文件格式,并将转换后的动态执行文件打包为静态资源,该静态资源中可以包括一个或者多个JavaScript文件。
步骤250、发布静态资源对应的程序版本信息,以使得应用端获取静态资源,以及根据程序运行引擎运行静态资源。
在本发明实施例中,服务器可以根据静态资源生成对应的程序版本信息,例如,可以在原有应用程序的版本号的基础上相应的增加版本数作为新的版本信息,可以将该版本信息以及静态资源进行发布,使得应用端可以根据该版本信息下载到该静态资源。应用端在下载静态资源后,可以使用程序运行引擎为该静态资源提供运行环境,实现修复版本程序的运行。
步骤260、保存修复版本程序的版本信息以对应用端进行版本校验。
其中,版本校验可以是用户端在运行应用程序之前的版本信息验证,在应用端的应用程序的版本信息与服务器中的版本信息相同时,应用端可以运行对应的应用程序,否则,应用端可以根据服务器中的版本信息下载对应的应用程序运行。
具体的,服务器可以将修复版本程序的版本信息进行存储,并在应用端发送应用端本地应用程序的版本信息时,比较两个版本信息是否一致,从而实现应用端的应用程序是否为最新版本的验证。
本发明实施例,通过采集应用端上报的错误日志,在应用程序的代码文本中查找错误日志中运行错误信息对应的错误代码,修复代码文本中该错误代码,并将代码文本作为修复版本程序,使用预设配置打包文件将该修复版本程序打包为静态资源,其中,静态资源为动态执行文件格式,发布静态资源对应的版本信息,使得应用端获取该静态资源以在程序运行引擎中运行修复版本程序,保存修复版本程序的版本信息以对应用端进行版本校验,实现程序错误的精准定位,提高应用程序错误的响应效率,减少应用程序更新的等待时间,基于版本信息保证应用端应用程序的运行状态,降低减少应用程序错误对用户的影响,提高用户体验程度。
进一步的,在上述发明实施例的基础上,所述应用端包括安卓操作系统终端以及IOS操作系统终端。
在本发明实施例中,应用程序可以通过动态执行文件运行,动态执行文件可以分别在安卓操作系统和IOS操作系统运行,相应的,用户端可以为安卓操作系统终端以及IOS操作系统终端。
实施例三
图3是本发明实施例三提供的一种程序错误解决方法的流程图,本实施例可适用于快速修复应用程序错误的情况,该方法可以由程序错误解决装置来执行,该装置可以采用硬件和/或软件的方式来实现,一般可以集成在应用端中,参见图3,本发明实施例提供的方法具体包括如下步骤:
步骤310、确定应用程序运行错误后上传错误日志到服务器,以使服务器根据错误日志生成修复版本程序,其中,错误日志包括应用程序的运行错误信息。
在本发明实施例中,应用端中当应用程序运行错误时,可以将应用程序的运行错误信息记录到错误日志,可以将错误日志上传到服务器,其中,错误日志可以在应用程序运行出错后立即上传,或者,等待阈值时间后将错误日志上传。服务器可以根据上传的错误日志对应用程序进行修复生成修复版本程序。
步骤320、获取服务器发布的修复版本程序,并运行修复版本程序,其中,修复版本程序被编译为动态执行文件。
具体的,应用端可以对服务器的修复版本程序进行监测,确定服务器发布修复版本程序时,可以连接到服务器并下载修复版本程序,并运行动态执行文件格式的修复版本程序。
本发明实施例,通过确定应用程序运行错误后将记录运行错误信息的错误日志上传到服务器,使得服务器可以根据错误日志生成修复版本程序,获取服务器发布的修复版本程序,并运行该修复版本程序,实现了运行程序中程序错误的准确定位,减少应用程序错误修复的响应时间,缩短应用程序的更新周期,提高用户体验程度。
实施例四
图4是本发明实施例四提供的一种程序错误解决方法的流程图,本发明实施例是在上述发明实施例基础上的具体化,参见图4,本发明实施例提供的方法具体包括如下步骤:
步骤410、将应用程序的版本信息与服务器内的版本信息进行对比。
本发明实施例中,可以将用户端本地应用程序的版本信息与服务器内的版本信息进行对比,例如,可以将版本信息发送到服务器进行对比或者将服务器的版本信息下载到本地进行对比等。
步骤420、若相同,则运行应用程序,若不相同,则下载并运行服务器的版本信息对应的应用程序。
具体的,若应用端本地应用程序的版本信息与服务器中的版本信息相同,则确定应用端本地的应用程序为最新版本,可以直接运行该应用程序,若应用端本地应用程序的版本信息与服务器中的版本信息不同,则确定应用端本地的应用程序需要更新,则可以从服务器获取到服务器的版本信息对应的应用程序,并在应用端运行该应用程序。
步骤430、确定应用程序运行错误后上传错误日志到服务器,以使服务器根据错误日志生成修复版本程序,其中,错误日志包括所述应用程序的运行错误信息。
步骤440、监测到服务器存在修复版本程序,则下载修复版本程序到本地。
在本发明实施例中,应该端在上传错误日志后,可以对服务器中的应用程序进行监控,确定服务器发布修复版本程序时,可以将服务器中的修复版本程序下载到应用端。
步骤450、根据本地预先设置的程序运行引擎运行所述修复版本程序,其中,程序运行引擎包括业务逻辑执行引擎和界面设计执行引擎。
其中,程序运行引擎可以包括业务逻辑执行引擎和界面设计执行引擎,业务逻辑执行引擎可以是系统提供业务逻辑执行的环境,界面设计执行引擎可以是系统提供的界面运行的环境,
具体的,在应用端中可以预先设置有业务逻辑引擎和界面设计执行引擎,在获取到修复版本程序后,若修复版本程序为业务逻辑程序,则在业务逻辑引擎运行该修复版本程序,若修复版本程序为界面设计执行引擎,则在界面设计执行引擎中运行该修复版本程序实现界面显示。
本发明实施例,通过将本地应用程序的版本信息与服务器内的版本信息进行比较,在相同时应用端运行应用程序,否则下载服务器内的版本信息对应的应用程序运行,确定应用程序运行错误时上传错误日志到服务器,由服务器割接错误日志生成修复版本程序,应用端监测到修复版本程序生成,则下载该修复版本程序,使得该修复版本程序运行在程序运行引擎中,实现了运行程序中程序错误的准确定位,减少应用程序错误修复的响应时间,缩短应用程序的更新周期,提高用户体验程度。
进一步的,在上述发明实施例的基础上,所述根据本地预先设置的程序运行引擎运行所述修复版本程序,包括:使用程序运行引擎创建运行环境;将修改版本程序的静态资源在运行环境中运行。
在本发明实施例中,程序运行引擎可以创建修复版本程序使用的运行环境,可以将修复版本程序的静态资源在运行环境中执行,其中,静态资源可以是动态执行文件,一个或多个动态执行文件可以组成修复版本程序。示例性的,静态资源具体可以为JavaScript文件,可以运行在程序运行引擎创建的运行环境。
进一步的,在上述发明实施例的基础上,所述程序运行引擎至少包括J2V8引擎和V8引擎中至少一种。
具体的,J2V8引擎可以是安卓系统终端中使用的程序运行引擎,V8引擎可以是IOS系统终端中使用的程序引擎。
在一个示例性的实施方式中,图5是本发明实施例四提供的一种程序错误解决方法的示例图,参见图5,应用程序以双端形式发布,分别在安卓移动端和IOS移动端中运行,可以采用VUE语音开发应用程序,应用程序经过webpack打包工具编译为JAavaScript文件,可以通过动态下发JAavaScript文件实现线上程序错误bug修复,提高bug修复的实时性,整体应用程序bug修复流程可以如下:客户端启动后检测服务器中VUE代码文件版本是否更新,若是,则客户端正常运行,若否,则下载并运行新版本的VUE代码,判断是否出现bug,若出现在,则上传错误日志到服务器,根据错误日志修复VUE文件中的业务bug,使用Webpack将VUE文件打包编译为JS文件,并将JS文件作为新版本发布到服务器。在安卓移动端可以使用google对外开源引擎J2V8,IOS移动端可以使用系统自带的JScore引擎,这样双端系统均可以执行JS代码,那么vue/js可以作为我们的业务开发语言,遇到线上bug可以通过服务端快速响应,动态下发修复bug后的js代码,及时精准的解决线上问题。
实施例五
图6是本发明实施例五提供的一种程序错误解决装置的结构示意图,可执行本发明任意实施例所提供的程序错误解决方法,具备执行方法相应的功能模块和有益效果。该装置可以由软件和/或硬件实现,具体包括:日志获取模块501、程序修复模块502和程序发布模块503。
日志获取模块501,用于获取应用端上报的错误日志,其中,所述错误日志包括应用程序的运行错误信息。
程序修复模块502,用于根据所述运行错误信息生成对应所述应用程序的修复版本程序。
程序发布模块503,用于将所述修复版本程序编译为动态执行文件以使应用端根据预设的程序运行引擎运行所述修复版本程序。
本发明实施例,日志获取模块采集应用端上传的错误日志,程序修复模块使用错误日志中的运行错误信息生成对应应用程序的修复版本程序,程序发布模块将该修复版本程序编译为动态执行文件,使得应用端可以基于预设的程序运行引擎运行修复版本程序,通过错误日志实现程序错误的精准定位,提高应用程序错误的响应效率,将修复版本程序编译为动态执行文件,减少应用程序更新的等待时间,提高用户体验程度。
进一步的,在上述发明实施例的基础上,所述程序修复模块502包括:
代码定位单元,用于在所述应用程序的代码文本中确定所述运行错误信息对应的错误代码。
代码修复单元,用于修复所述应用程序中所述错误代码,并将修复后的所述应用程序作为修复版本程序。
进一步的,在上述发明实施例的基础上,所述代码修复单元具体用于:若所述错误代码为界面设计代码,则使用预设控件代码替换所述应用程序的所述错误代码;若所述错误代码为业务逻辑代码,则根据用户修改参数更新所述应用程序中的所述错误代码。
进一步的,在上述发明实施例的基础上,所述程序发布模块503包括:
程序编译单元,用于根据预设打包配置文件将所述修复版本程序打包为静态资源,其中,所述静态资源为动态执行文件格式。
程序发布单元,用于发布所述静态资源对应的程序版本信息,以使得所述应用端获取所述静态资源,以及根据所述程序运行引擎运行所述静态资源。
进一步的,在上述发明实施例的基础上,所述应用端包括安卓操作系统终端以及IOS操作系统终端。
进一步的,在上述发明实施例的基础上,还包括:
版本验证模块,用于保存所述修复版本程序的版本信息以对所述应用端进行版本校验。
实施例六
图7是本发明实施例六提供的一种程序错误解决装置的结构示意图,可执行本发明任意实施例所提供的程序错误解决方法,具备执行方法相应的功能模块和有益效果。该装置可以由软件和/或硬件实现,具体包括:日志上报模块601和程序获取模块602。
日志上报模块601,用于确定应用程序运行错误后上传错误日志到服务器,以使所述服务器根据所述错误日志生成修复版本程序,其中,所述错误日志包括所述应用程序的运行错误信息。
程序获取模块602,用于获取服务器发布的修复版本程序,并运行所述修复版本程序,其中,所述修复版本程序被编译为动态执行文件。
本发明实施例,通过日志上报模块确定应用程序运行错误后将记录运行错误信息的错误日志上传到服务器,使得服务器可以根据错误日志生成修复版本程序,程序获取模块获取服务器发布的修复版本程序,并运行该修复版本程序,实现了运行程序中程序错误的准确定位,减少应用程序错误修复的响应时间,缩短应用程序的更新周期,提高用户体验程度。
进一步的,在上述发明实施例的基础上,所述装置还包括:版本校验模块,用于将所述应用程序的版本信息与所述服务器内的版本信息进行对比;若相同,则运行所述应用程序,若不相同,则下载并运行所述服务器的版本信息对应的应用程序。
进一步的,在上述发明实施例的基础上,所述程序获取模块602包括:
程序监测单元,用于监测到所述服务器存在所述修复版本程序,则下载所述修复版本程序到本地。
程序运行单元,用于根据本地预先设置的程序运行引擎运行所述修复版本程序,其中,所述程序运行引擎包括业务逻辑执行引擎和界面设计执行引擎。
进一步的,在上述发明实施例的基础上,所述程序运行单元具体用于:
使用所述程序运行引擎创建运行环境;将所述修改版本程序的静态资源在所述运行环境中运行。
进一步的,在上述发明实施例的基础上,所述程序运行引擎至少包括J2V8引擎和V8引擎中至少一种。
实施例七
图8是本发明实施例七提供的一种电子设备的结构示意图,如图8所示,该电子设备包括处理器70、存储器71、输入装置72和输出装置73;电子设备中处理器70的数量可以是一个或多个,图8中以一个处理器70为例;电子设备中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图8中以通过总线连接为例。
存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的程序错误解决方法对应的程序指令/模块(例如,程序错误解决装置中的日志获取模块501、程序修复模块502和程序发布模块503,或者,日志上报模块601和程序获取模块602)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的程序错误解决方法。
存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置72可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示设备。
实施例八
本发明实施例八还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种程序错误解决方法,该方法包括:
获取应用端上报的错误日志,其中,所述错误日志包括应用程序的运行错误信息;
根据所述运行错误信息生成对应所述应用程序的修复版本程序;
将所述修复版本程序编译为动态执行文件以使应用端根据预设的程序运行引擎运行所述修复版本程序。
或者,
确定应用程序运行错误后上传错误日志到服务器,以使所述服务器根据所述错误日志生成修复版本程序,其中,所述错误日志包括所述应用程序的运行错误信息;
获取服务器发布的修复版本程序,并运行所述修复版本程序,其中,所述修复版本程序被编译为动态执行文件。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的程序错误解决方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述程序错误解决装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (13)

1.一种程序错误解决方法,其特征在于,所述方法包括:
获取应用端上报的错误日志,其中,所述错误日志包括应用程序的运行错误信息;
根据所述运行错误信息生成对应所述应用程序的修复版本程序;
将所述修复版本程序编译为动态执行文件以使应用端根据预设的程序运行引擎运行所述修复版本程序。
2.根据权利要求1所述的方法,其特征在于,所述根据所述运行错误信息生成对应所述应用程序的修复版本程序,包括:
在所述应用程序的代码文本中确定所述运行错误信息对应的错误代码;
修复所述应用程序中所述错误代码,并将修复后的所述应用程序作为修复版本程序。
3.根据权利要求2所述的方法,其特征在于,所述修复所述应用程序中所述错误代码,包括:
若所述错误代码为界面设计代码,则使用预设控件代码替换所述应用程序的所述错误代码;
若所述错误代码为业务逻辑代码,则根据用户修改参数更新所述应用程序中的所述错误代码。
4.根据权利要求1所述的方法,其特征在于,所述将所述修复版本程序编译为动态执行文件以使应用端根据预设的程序运行引擎运行所述修复版本程序,包括:
根据预设打包配置文件将所述修复版本程序打包为静态资源,其中,所述静态资源为动态执行文件格式;
发布所述静态资源对应的程序版本信息,以使得所述应用端获取所述静态资源,以及根据所述程序运行引擎运行所述静态资源。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
保存所述修复版本程序的版本信息以对所述应用端进行版本校验。
6.一种程序错误解决方法,其特征在于,所述方法包括:
确定应用程序运行错误后上传错误日志到服务器,以使所述服务器根据所述错误日志生成修复版本程序,其中,所述错误日志包括所述应用程序的运行错误信息;
获取服务器发布的修复版本程序,并运行所述修复版本程序,其中,所述修复版本程序被编译为动态执行文件。
7.根据权利要求6所述的方法,其特征在于,所述获取服务器发布的修复版本程序,并运行所述修复版本程序,包括:
监测到所述服务器存在所述修复版本程序,则下载所述修复版本程序到本地;
根据本地预先设置的程序运行引擎运行所述修复版本程序,其中,所述程序运行引擎包括业务逻辑执行引擎和界面设计执行引擎。
8.根据权利要求7所述的方法,其特征在于,所述根据本地预先设置的程序运行引擎运行所述修复版本程序,包括:
使用所述程序运行引擎创建运行环境;
将所述修改版本程序的静态资源在所述运行环境中运行。
9.根据权利要求7所述的方法,其特征在于,所述程序运行引擎至少包括J2V8引擎和V8引擎中至少一种。
10.一种程序错误解决装置,其特征在于,所述装置包括:
日志获取模块,用于获取应用端上报的错误日志,其中,所述错误日志包括应用程序的运行错误信息;
程序修复模块,用于根据所述运行错误信息生成对应所述应用程序的修复版本程序;
程序发布模块,用于将所述修复版本程序编译为动态执行文件以使应用端根据预设的程序运行引擎运行所述修复版本程序。
11.一种程序错误解决装置,其特征在于,所述装置包括:
日志上报模块,用于确定应用程序运行错误后上传错误日志到服务器,以使所述服务器根据所述错误日志生成修复版本程序,其中,所述错误日志包括所述应用程序的运行错误信息;
程序获取模块,用于获取服务器发布的修复版本程序,并运行所述修复版本程序,其中,所述修复版本程序被编译为动态执行文件。
12.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5或6-9中任一所述的程序错误解决方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中或6-9中任一所述的程序错误解决方法。
CN202110360771.1A 2021-04-02 2021-04-02 程序错误解决方法、装置、电子设备和存储介质 Pending CN115168175A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110360771.1A CN115168175A (zh) 2021-04-02 2021-04-02 程序错误解决方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110360771.1A CN115168175A (zh) 2021-04-02 2021-04-02 程序错误解决方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN115168175A true CN115168175A (zh) 2022-10-11

Family

ID=83475894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110360771.1A Pending CN115168175A (zh) 2021-04-02 2021-04-02 程序错误解决方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN115168175A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116225966A (zh) * 2023-04-25 2023-06-06 深圳曼瑞德科技有限公司 一种基于智能手表的应用评估方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116225966A (zh) * 2023-04-25 2023-06-06 深圳曼瑞德科技有限公司 一种基于智能手表的应用评估方法及系统
CN116225966B (zh) * 2023-04-25 2023-08-04 深圳曼瑞德科技有限公司 一种基于智能手表的应用评估方法及系统

Similar Documents

Publication Publication Date Title
US10380350B1 (en) Efficient and comprehensive source code fuzzing
US7900198B2 (en) Method and system for parameter profile compiling
KR100868762B1 (ko) 임베디드용 소프트웨어의 오류 검출 방법
CN111382048B (zh) 真机测试平台上移动设备的管理方法和装置
US20110191752A1 (en) Method and System for Debugging of Software on Target Devices
JP5208635B2 (ja) プログラミングを支援するための情報処理装置、情報処理システム、プログラミング支援方法およびプログラム
US20110126179A1 (en) Method and System for Dynamic Patching Software Using Source Code
US10579513B2 (en) Test run control method and apparatus
JP2010134643A (ja) テストケースの選択方法及び選択システム
CN114691464A (zh) 一种接口测试方法、计算机设备及计算机可读存储介质
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
US20080127119A1 (en) Method and system for dynamic debugging of software
CN107179982B (zh) 一种跨进程调试方法和装置
CN110543427A (zh) 测试用例存储方法、装置、电子设备及存储介质
US20080127118A1 (en) Method and system for dynamic patching of software
US20080127061A1 (en) Method and system for editing code
CN115220863A (zh) 容器应用的运维方法、装置、计算机设备和存储介质
CN114924737A (zh) 一种电池管理系统源代码集成测试方法、测试装置及电子设备
CN115168175A (zh) 程序错误解决方法、装置、电子设备和存储介质
CN113742215A (zh) 一种自动配置和调用测试工具进行测试分析的方法及系统
CN113760290A (zh) 一种程序控制方法、装置、计算机设备及存储介质
US9710360B2 (en) Optimizing error parsing in an integrated development environment
CN113986263A (zh) 代码自动化测试方法、装置、电子设备、存储介质
CN112052007A (zh) 源码调试方法、装置、服务器及存储介质
CN112953721A (zh) 一种ipa文件的解析方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination