CN109739770B - 小程序的调试方法及装置 - Google Patents
小程序的调试方法及装置 Download PDFInfo
- Publication number
- CN109739770B CN109739770B CN201910006830.8A CN201910006830A CN109739770B CN 109739770 B CN109739770 B CN 109739770B CN 201910006830 A CN201910006830 A CN 201910006830A CN 109739770 B CN109739770 B CN 109739770B
- Authority
- CN
- China
- Prior art keywords
- debugging
- applet
- hook
- operation result
- component
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提出一种小程序的调试方法及装置,应用于小程序运行框架中的调试器,运行框架包括:运行环境和调试器,其中方法包括:获取运行环境中嵌入的调试钩子返回的运行结果;调试钩子设置有对应的触发条件,用于在小程序的运行状态满足触发条件时返回运行结果;控制运行环境在相应的界面上显示运行结果;根据运行结果对小程序进行调试,从而不需要模拟小程序的运行环境,只需要在小程序的真实运行环境中设置调试钩子,且在小程序的运行框架中设置调试器,就能够获取到小程序的运行结果并进行调试,降低了系统所消耗的资源,降低了调试成本,提高了小程序的调试效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种小程序的调试方法及装置。
背景技术
目前,针对软件中嵌入的智能小程序,例如手机百度软件中嵌入的视频播放小程序,主要是通过虚拟机、集成开发环境等来模拟小程序的运行环境,在模拟的运行环境中对小程序进行运行,获取运行数据,进而根据运行数据对小程序进行调试。上述方案中,需要消耗大量的系统资源来模拟运行环境,且模拟的运行环境与小程序的真实运行环境存在差距,导致调试效率差。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种小程序的调试方法,该方法用于解决现有技术中系统资源消耗大,且调试效率差的问题。
本发明的第二个目的在于提出一种小程序的调试装置。
本发明的第三个目的在于提出另一种小程序的调试装置。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
本发明的第五个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种小程序的调试方法,应用于小程序运行框架中的调试器,所述运行框架包括:运行环境和调试器,所述的方法,包括:
获取所述运行环境中嵌入的调试钩子返回的运行结果;所述调试钩子设置有对应的触发条件,用于在小程序的运行状态满足所述触发条件时返回运行结果;
控制所述运行环境在相应的界面上显示所述运行结果;
根据所述运行结果对所述小程序进行调试。
进一步的,嵌入有所述小程序的软件中设置有调试进程,用于获取所述调试钩子返回的运行结果;
所述获取所述运行环境中嵌入的调试钩子返回的运行结果,包括:
通过所述调试进程获取所述调试钩子返回的运行结果。
进一步的,所述运行结果包括以下数据中的任意一种或者多种:系统日志、业务日志、组件结构。
进一步的,所述组件结构为所述小程序的页面中所包括的组件;所述调试钩子中包括:第一组件调试钩子和第二组件调试钩子;
所述第一组件调试钩子的触发条件为页面切换,所述运行结果为切换得到的页面中的所有组件;
所述第二组件调试钩子的触发条件为页面中组件发生变更,所述运行结果为所述页面中的组件变更信息。
进一步的,所述根据所述运行结果对所述小程序进行调试,包括:
获取调试人员的调试指令;
对所述调试指令进行包装,得到所述小程序进程能够识别的包装后指令;
将所述包装后指令通过调试进程发送到所述小程序的进程中,以使第三调试钩子返回所述包装后指令的运行结果;所述第三调试钩子的触发条件为,包装后指令的运行。
进一步的,所述运行框架,应用于多个小程序;
所述调试器,用于对所述多个小程序进行调试。
本发明实施例的小程序的调试方法,应用于小程序运行框架中的调试器,运行框架包括:运行环境和调试器,所述的方法,通过获取运行环境中嵌入的调试钩子返回的运行结果;调试钩子设置有对应的触发条件,用于在小程序的运行状态满足触发条件时返回运行结果;控制运行环境在相应的界面上显示运行结果;根据运行结果对小程序进行调试,从而不需要模拟小程序的运行环境,只需要在小程序的真实运行环境中设置调试钩子,且在小程序的运行框架中设置调试器,就能够获取到小程序的运行结果并进行调试,降低了系统所消耗的资源,提高了小程序的调试效率。
为达上述目的,本发明第二方面实施例提出了一种小程序的调试装置,应用于小程序运行框架中的调试器,所述运行框架包括:运行环境和调试器,所述的装置,包括:
获取模块,用于获取所述运行环境中嵌入的调试钩子返回的运行结果;所述调试钩子设置有对应的触发条件,用于在小程序的运行状态满足所述触发条件时返回运行结果;
控制模块,用于控制所述运行环境在相应的界面上显示所述运行结果,以便调试人员查看;
调试模块,用于根据所述运行结果对所述小程序进行调试。
进一步的,嵌入有所述小程序的软件中设置有调试进程,用于获取所述调试钩子返回的运行结果;
所述获取模块具体用于,通过所述调试进程获取所述调试钩子返回的运行结果。
进一步的,所述运行结果包括以下数据中的任意一种或者多种:系统日志、业务日志、组件结构。
进一步的,所述组件结构为所述小程序的页面中所包括的组件;所述调试钩子中包括:第一组件调试钩子和第二组件调试钩子;
所述第一组件调试钩子的触发条件为页面切换,所述运行结果为切换得到的页面中的所有组件;
所述第二组件调试钩子的触发条件为页面中组件发生变更,所述运行结果为所述页面中的组件变更信息。
进一步的,所述调试模块具体用于,
获取调试人员的调试指令;
对所述调试指令进行包装,得到所述小程序进程能够识别的包装后指令;
将所述包装后指令通过调试进程发送到所述小程序的进程中,以使第三调试钩子返回所述包装后指令的运行结果;所述第三调试钩子的触发条件为,包装后指令的运行。
进一步的,所述运行框架,应用于多个小程序;
所述调试器,用于对所述多个小程序进行调试。
本发明实施例的小程序的调试装置,应用于小程序运行框架中的调试器,运行框架包括:运行环境和调试器,所述的装置,通过获取运行环境中嵌入的调试钩子返回的运行结果;调试钩子设置有对应的触发条件,用于在小程序的运行状态满足触发条件时返回运行结果;控制运行环境在相应的界面上显示运行结果;根据运行结果对小程序进行调试,从而不需要模拟小程序的运行环境,只需要在小程序的真实运行环境中设置调试钩子,且在小程序的运行框架中设置调试器,就能够获取到小程序的运行结果并进行调试,降低了系统所消耗的资源,提高了小程序的调试效率。
为达上述目的,本发明第三方面实施例提出了另一种小程序的调试装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的小程序的调试方法。
为了实现上述目的,本发明第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的小程序的调试方法。
为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,实现如上所述的小程序的调试方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种小程序的调试方法的流程示意图;
图2为调试器通过软件通信信道获取运行结果的框架示意图;
图3为本发明实施例提供的一种小程序的调试装置的结构示意图;
图4为本发明实施例提供的另一种小程序的调试装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的小程序的调试方法及装置。
图1为本发明实施例提供的一种小程序的调试方法的流程示意图。如图1所示,该小程序的调试方法应用于小程序运行框架中的调试器,运行框架包括:运行环境和调试器,所述的方法,主要包括以下步骤:
S101、获取运行环境中嵌入的调试钩子返回的运行结果;调试钩子设置有对应的触发条件,用于在小程序的运行状态满足触发条件时返回运行结果。
本发明提供的小程序的调试方法的执行主体为小程序的调试装置,小程序的调试装置可以为嵌入有小程序的软件,或者软件中小程序的运行框架,或者小程序运行框架中的调试器等,其中,软件例如手机百度等,小程序例如手机百度中的爱奇艺、苏宁易购、携程旅行等小程序。
本实施例中,软件中设置有一个小程序运行框架,该运行框架可以用于各个小程序,例如爱奇艺、苏宁易购、携程旅行等小程序。运行框架包括:运行环境和调试器。其中,小程序在运行环境中运行,并在运行环境中展示小程序的页面。调试器用于获取小程序的运行结果,以及基于运行结果对小程序进行调试等。其中,运行框架可以为swan运行框架。调试器可以为sconsole调试器。
本实施例中,在运行框架用于多个小程序的情况下,调试器可以用于对多个小程序进行调试。例如,小程序A运行时,调试器可以获取小程序A的运行结果,并控制运行环境在界面上显示运行结果。又例如,小程序B运行时,调试器可以获取小程序B的运行结果,并控制运行环境在界面上显示运行结果。
另外,调试器可以同时对多个小程序进行调试,此时,运行环境中界面的数量为多个,分别与每个小程序对应。例如,小程序A和小程序B同时运行,则调试器可以获取小程序A的运行结果,控制运行环境在小程序A对应的界面上显示运行结果;调试器可以获取小程序B的运行结果,控制运行环境在小程序B对应的界面上显示运行结果。
本实施例中,运行结果可以包括以下数据中的任意一种或者多种:系统日志、业务日志和组件结构。运行环境中可以嵌入有各种调试钩子,例如用于获取系统日志的调试钩子、用于获取业务日志的调试钩子、用于获取组件结构的调试钩子等。其中,系统日志为运行框架在小程序运行过程中所记录的日志。业务日志为小程序自身记录的日志。组件结构为小程序所显示的各个页面的组件结构。
本实施例中,调试钩子对应的触发条件,例如用户下载系统日志、业务日志或者组件结构,小程序切换页面,小程序存储业务日志,小程序更新业务日志,框架存储系统日志,框架更新系统日志等。当调试钩子对应的触发条件为小程序更新业务日志时,若小程序的运行进程在更新业务日志,则触发调试钩子获取更新后的业务日志。当调试钩子对应的触发条件为用户下载系统日志时,若小程序建立用户下载系统日志进程并运行,则触发调试钩子获取下载的系统日志。
进一步的,本实施例中,嵌入有小程序的软件中设置有调试进程,当调试钩子被触发且需要返回运行结果时,触发软件创建调试进程,并将运行结果发送至调试进程;而调试进程用于将返回结果发送至调试器。其中,软件中的调试进程用于充当调试器与小程序进程之间的通信信道,用于将调试钩子获取的运行结果传递至调试器。其中,涉及到的小程序进程包括:小程序的主进程以及各个从属进程。其中,调试器通过软件通信信道获取运行结果的框架示意图可以如图2所示。在图2中,日志指的是系统日志和业务日志,结构指的是组件结构。
进一步的,在上述实施例的基础上,从调试钩子向调试器发送数据的方式可以有两种方式,一种是全量数据方式,一种是增量数据方式。其中,组件结构可以为小程序的页面中所包括的组件,当小程序进行页面切换时,采用全量数据模式,当小程序更新页面中组件时,采用增量数据模式。因此,调试钩子中可以包括:第一组件调试钩子和第二组件调试钩子。第一组件调试钩子的触发条件可以为页面切换,运行结果为切换得到的页面中的所有组件;第二组件调试钩子的触发条件可以为页面中组件发生变更,运行结果为页面中的组件变更信息。其中,组件变更信息中包括:增加的组件、变更的组件或者删除的组件等。
本实施例中,当小程序进行页面切换时,第一组件调试钩子将切换得到的页面中的所有组件作为运行结果返回给调试器;当页面中组件发生变更时,第二组件调试钩子将页面中的组件变更信息作为运行结果返回给调试器,从而能够在页面进行组件更新时,避免重复的向调试器返回页面中的所有组件,避免页面中部分组件的重复返回,且能够提高组件更细时运行结果的返回速度,从而提高小程序的调试效率。
S102、控制运行环境在相应的界面上显示运行结果。
本实施例中,控制运行环境在相应的界面上显示运行结果之前,可以先对运行结果进行处理。其中,对运行结果的处理例如可以为统计处理、图形化处理等,得到运行结果的好坏、错误信息、各业务是否正常等信息,并以文字或者图形化的形式展示,使得调试人员可以通过展示直观的了解小程序的运行情况,以便对小程序进行调试。
S103、根据运行结果对小程序进行调试。
本实施例中,小程序的调试装置执行步骤103的过程具体可以为,获取调试人员的调试指令;对调试指令进行包装,得到小程序进程能够识别的包装后指令;将包装后指令通过调试进程发送到小程序的进程中,以使第三调试钩子返回包装后指令的运行结果;第三调试钩子的触发条件为,包装后指令的运行。
本实施例中,在调试过程中,调试人员除了查看运行结果,经常还需要在小程序运行环境下执行调试代码、查看变量等操作,调试器可以将调试人员的这些操作确定为调试指令,并对调试指令进行包装,通过调试进程发送到小程序进程的上下文中执行,以获取执行结果、错误信息、变量值等。
本发明实施例的小程序的调试方法,应用于小程序运行框架中的调试器,运行框架包括:运行环境和调试器,所述的方法,通过获取运行环境中嵌入的调试钩子返回的运行结果;调试钩子设置有对应的触发条件,用于在小程序的运行状态满足触发条件时返回运行结果;控制运行环境在相应的界面上显示运行结果;根据运行结果对小程序进行调试,从而不需要模拟小程序的运行环境,只需要在小程序的真实运行环境中设置调试钩子,且在小程序的运行框架中设置调试器,就能够获取到小程序的运行结果并进行调试,降低了系统所消耗的资源,降低了调试成本,提高了小程序的调试效率。
图3为本发明实施例提供的一种小程序的调试装置的结构示意图。如图3所示,该小程序的调试装置应用于小程序运行框架中的调试器,所述运行框架包括:运行环境和调试器,所述的装置,包括:获取模块31、控制模块32和调试模块33。
其中,获取模块31,用于获取所述运行环境中嵌入的调试钩子返回的运行结果;所述调试钩子设置有对应的触发条件,用于在小程序的运行状态满足所述触发条件时返回运行结果;
控制模块32,用于控制所述运行环境在相应的界面上显示所述运行结果;
调试模块33,用于根据所述运行结果对所述小程序进行调试。
本发明实施例提供的小程序的调试装置可以为嵌入有小程序的软件,或者软件中小程序的运行框架,或者小程序运行框架中的调试器等,其中,软件例如手机百度等,小程序例如手机百度中的爱奇艺、苏宁易购、携程旅行等小程序。
本实施例中,软件中设置有一个小程序运行框架,该运行框架可以用于各个小程序,例如爱奇艺、苏宁易购、携程旅行等小程序。运行框架包括:运行环境和调试器。其中,小程序在运行环境中运行,并在运行环境中展示小程序的页面。调试器用于获取小程序的运行结果,以及基于运行结果对小程序进行调试等。其中,运行框架可以为swan运行框架。调试器可以为sconsole调试器。
本实施例中,在运行框架用于多个小程序的情况下,调试器可以用于对多个小程序进行调试。例如,小程序A运行时,调试器可以获取小程序A的运行结果,并控制运行环境在界面上显示运行结果。又例如,小程序B运行时,调试器可以获取小程序B的运行结果,并控制运行环境在界面上显示运行结果。
另外,调试器可以同时对多个小程序进行调试,此时,运行环境中界面的数量为多个,分别与每个小程序对应。例如,小程序A和小程序B同时运行,则调试器可以获取小程序A的运行结果,控制运行环境在小程序A对应的界面上显示运行结果;调试器可以获取小程序B的运行结果,控制运行环境在小程序B对应的界面上显示运行结果。
本实施例中,运行结果可以包括以下数据中的任意一种或者多种:系统日志、业务日志和组件结构。运行环境中可以嵌入有各种调试钩子,例如用于获取系统日志的调试钩子、用于获取业务日志的调试钩子、用于获取组件结构的调试钩子等。其中,系统日志为运行框架在小程序运行过程中所记录的日志。业务日志为小程序自身记录的日志。组件结构为小程序所显示的各个页面的组件结构。
本实施例中,调试钩子对应的触发条件,例如用户下载系统日志、业务日志或者组件结构,小程序切换页面,小程序存储业务日志,小程序更新业务日志,框架存储系统日志,框架更新系统日志等。当调试钩子对应的触发条件为小程序更新业务日志时,若小程序的运行进程在更新业务日志,则触发调试钩子获取更新后的业务日志。当调试钩子对应的触发条件为用户下载系统日志时,若小程序建立用户下载系统日志进程并运行,则触发调试钩子获取下载的系统日志。
进一步的,本实施例中,嵌入有小程序的软件中设置有调试进程,当调试钩子被触发且需要返回运行结果时,触发软件创建调试进程,并将运行结果发送至调试进程;而调试进程用于将返回结果发送至调试器。其中,软件中的调试进程用于充当调试器与小程序进程之间的通信信道,用于将调试钩子获取的运行结果传递至调试器。其中,涉及到的小程序进程包括:小程序的主进程以及各个从属进程。其中,调试器通过软件通信信道获取运行结果的框架示意图可以如图2所示。在图2中,日志指的是系统日志和业务日志,结构指的是组件结构。
进一步的,在上述实施例的基础上,从调试钩子向调试器发送数据的方式可以有两种方式,一种是全量数据方式,一种是增量数据方式。其中,组件结构可以为小程序的页面中所包括的组件,当小程序进行页面切换时,采用全量数据模式,当小程序更新页面中组件时,采用增量数据模式。因此,调试钩子中可以包括:第一组件调试钩子和第二组件调试钩子。第一组件调试钩子的触发条件可以为页面切换,运行结果为切换得到的页面中的所有组件;第二组件调试钩子的触发条件可以为页面中组件发生变更,运行结果为页面中的组件变更信息。其中,组件变更信息中包括:增加的组件、变更的组件或者删除的组件等。
本实施例中,当小程序进行页面切换时,第一组件调试钩子将切换得到的页面中的所有组件作为运行结果返回给调试器;当页面中组件发生变更时,第二组件调试钩子将页面中的组件变更信息作为运行结果返回给调试器,从而能够在页面进行组件更新时,避免重复的向调试器返回页面中的所有组件,避免页面中部分组件的重复返回,且能够提高组件更细时运行结果的返回速度,从而提高小程序的调试效率。
进一步的,在上述实施例的基础上,调试模块33具体可以用于,获取调试人员的调试指令;对所述调试指令进行包装,得到所述小程序进程能够识别的包装后指令;将所述包装后指令通过调试进程发送到所述小程序的进程中,以使第三调试钩子返回所述包装后指令的运行结果;所述第三调试钩子的触发条件为,包装后指令的运行。
本实施例中,在调试过程中,调试人员除了查看运行结果,经常还需要在小程序运行环境下执行调试代码、查看变量等操作,调试器可以将调试人员的这些操作确定为调试指令,并对调试指令进行包装,通过调试进程发送到小程序进程的上下文中执行,以获取执行结果、错误信息、变量值等。
本发明实施例的小程序的调试装置,应用于小程序运行框架中的调试器,运行框架包括:运行环境和调试器,所述的装置,通过获取运行环境中嵌入的调试钩子返回的运行结果;调试钩子设置有对应的触发条件,用于在小程序的运行状态满足触发条件时返回运行结果;控制运行环境在相应的界面上显示运行结果;根据运行结果对小程序进行调试,从而不需要模拟小程序的运行环境,只需要在小程序的真实运行环境中设置调试钩子,且在小程序的运行框架中设置调试器,就能够获取到小程序的运行结果并进行调试,降低了系统所消耗的资源,降低了调试成本,提高了小程序的调试效率。
图4为本发明实施例提供的另一种小程序的调试装置的结构示意图。该小程序的调试装置包括:
存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序。
处理器1002执行所述程序时实现上述实施例中提供的小程序的调试方法。
进一步地,小程序的调试装置还包括:
通信接口1003,用于存储器1001和处理器1002之间的通信。
存储器1001,用于存放可在处理器1002上运行的计算机程序。
存储器1001可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1002,用于执行所述程序时实现上述实施例所述的小程序的调试方法。
如果存储器1001、处理器1002和通信接口1003独立实现,则通信接口1003、存储器1001和处理器1002可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1001、处理器1002及通信接口1003,集成在一块芯片上实现,则存储器1001、处理器1002及通信接口1003可以通过内部接口完成相互间的通信。
处理器1002可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
本发明还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的小程序的调试方法。
本发明还提供一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,实现如上所述的小程序的调试方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (12)
1.一种小程序的调试方法,应用于小程序运行框架中的调试器,所述运行框架包括:运行环境和调试器,所述运行环境为所述小程序的真实运行环境,其特征在于,所述的方法,包括:
获取所述运行环境中嵌入的调试钩子返回的运行结果;所述调试钩子设置有对应的触发条件,用于在小程序的运行状态满足所述触发条件时返回运行结果;
控制所述运行环境在相应的界面上显示所述运行结果;
根据所述运行结果对所述小程序进行调试;
嵌入有所述小程序的软件中设置有调试进程,用于获取所述调试钩子返回的运行结果;
所述获取所述运行环境中嵌入的调试钩子返回的运行结果,包括:
通过所述调试进程获取所述调试钩子返回的运行结果。
2.根据权利要求1所述的方法,其特征在于,所述运行结果包括以下数据中的任意一种或者多种:系统日志、业务日志、组件结构。
3.根据权利要求2所述的方法,其特征在于,所述组件结构为所述小程序的页面中所包括的组件;所述调试钩子中包括:第一组件调试钩子和第二组件调试钩子;
所述第一组件调试钩子的触发条件为页面切换,所述运行结果为切换得到的页面中的所有组件;
所述第二组件调试钩子的触发条件为页面中组件发生变更,所述运行结果为所述页面中的组件变更信息。
4.根据权利要求1所述的方法,其特征在于,所述根据所述运行结果对所述小程序进行调试,包括:
获取调试人员的调试指令;
对所述调试指令进行包装,得到所述小程序进程能够识别的包装后指令;
将所述包装后指令通过调试进程发送到所述小程序的进程中,以使第三调试钩子返回所述包装后指令的运行结果;所述第三调试钩子的触发条件为,包装后指令的运行。
5.根据权利要求1所述的方法,其特征在于,所述运行框架,应用于多个小程序;
所述调试器,用于对所述多个小程序进行调试。
6.一种小程序的调试装置,应用于小程序运行框架中的调试器,所述运行框架包括:运行环境和调试器,所述运行环境为所述小程序的真实运行环境,其特征在于,所述的装置,包括:
获取模块,用于获取所述运行环境中嵌入的调试钩子返回的运行结果;所述调试钩子设置有对应的触发条件,用于在小程序的运行状态满足所述触发条件时返回运行结果;
控制模块,用于控制所述运行环境在相应的界面上显示所述运行结果;
调试模块,用于根据所述运行结果对所述小程序进行调试;
嵌入有所述小程序的软件中设置有调试进程,用于获取所述调试钩子返回的运行结果;
所述获取模块具体用于,通过所述调试进程获取所述调试钩子返回的运行结果。
7.根据权利要求6所述的装置,其特征在于,所述运行结果包括以下数据中的任意一种或者多种:系统日志、业务日志、组件结构。
8.根据权利要求7所述的装置,其特征在于,所述组件结构为所述小程序的页面中所包括的组件;所述调试钩子中包括:第一组件调试钩子和第二组件调试钩子;
所述第一组件调试钩子的触发条件为页面切换,所述运行结果为切换得到的页面中的所有组件;
所述第二组件调试钩子的触发条件为页面中组件发生变更,所述运行结果为所述页面中的组件变更信息。
9.根据权利要求6所述的装置,其特征在于,所述调试模块具体用于,
获取调试人员的调试指令;
对所述调试指令进行包装,得到所述小程序进程能够识别的包装后指令;
将所述包装后指令通过调试进程发送到所述小程序的进程中,以使第三调试钩子返回所述包装后指令的运行结果;所述第三调试钩子的触发条件为,包装后指令的运行。
10.根据权利要求6所述的装置,其特征在于,所述运行框架,应用于多个小程序;
所述调试器,用于对所述多个小程序进行调试。
11.一种小程序的调试装置,其特征在于,包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一所述的小程序的调试方法。
12.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的小程序的调试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910006830.8A CN109739770B (zh) | 2019-01-04 | 2019-01-04 | 小程序的调试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910006830.8A CN109739770B (zh) | 2019-01-04 | 2019-01-04 | 小程序的调试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739770A CN109739770A (zh) | 2019-05-10 |
CN109739770B true CN109739770B (zh) | 2022-06-10 |
Family
ID=66363347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910006830.8A Active CN109739770B (zh) | 2019-01-04 | 2019-01-04 | 小程序的调试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739770B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795354A (zh) * | 2019-10-30 | 2020-02-14 | 北京小米移动软件有限公司 | 信息处理方法、装置及存储介质 |
CN110837473B (zh) * | 2019-11-07 | 2023-08-22 | 腾讯科技(深圳)有限公司 | 应用程序调试方法、装置、终端及存储介质 |
CN111078554B (zh) * | 2019-12-16 | 2022-05-27 | 腾讯科技(深圳)有限公司 | 一种小程序调试方法、装置、设备及存储介质 |
CN111352644A (zh) * | 2020-03-04 | 2020-06-30 | 深圳乐信软件技术有限公司 | 小程序更新方法、装置、服务器及存储介质 |
CN111858302B (zh) * | 2020-06-05 | 2023-12-12 | 百度在线网络技术(北京)有限公司 | 小程序的测试方法、装置、电子设备及存储介质 |
CN111782218B (zh) * | 2020-06-29 | 2024-03-01 | 百度在线网络技术(北京)有限公司 | 小程序处理方法、装置、设备及存储介质 |
CN113110965B (zh) * | 2021-03-12 | 2024-06-28 | 北京水滴科技集团有限公司 | 异常信息的监控方法及装置、计算机存储介质、终端 |
CN113535544A (zh) * | 2021-06-16 | 2021-10-22 | 杭州华橙软件技术有限公司 | 一种待调试子应用运行方法、计算机设备以及装置 |
CN113760762B (zh) * | 2021-09-08 | 2024-03-08 | 贝壳找房(北京)科技有限公司 | 小程序的运行环境模拟方法、电子设备及存储介质 |
CN116360877A (zh) * | 2021-12-27 | 2023-06-30 | 北京有竹居网络技术有限公司 | 应用程序管理方法、装置、存储介质以及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081655A (en) * | 1997-07-23 | 2000-06-27 | International Business Machines Corporation | Compiler-assisted or interpreter-assisted expansion solution to the year 2000 problem for computer programs |
CN1728106A (zh) * | 2004-07-26 | 2006-02-01 | 中兴通讯股份有限公司 | 一种应用程序故障的定位方法 |
CN104281520A (zh) * | 2013-07-10 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 跟踪和调试的方法、装置及系统 |
-
2019
- 2019-01-04 CN CN201910006830.8A patent/CN109739770B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081655A (en) * | 1997-07-23 | 2000-06-27 | International Business Machines Corporation | Compiler-assisted or interpreter-assisted expansion solution to the year 2000 problem for computer programs |
CN1728106A (zh) * | 2004-07-26 | 2006-02-01 | 中兴通讯股份有限公司 | 一种应用程序故障的定位方法 |
CN104281520A (zh) * | 2013-07-10 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 跟踪和调试的方法、装置及系统 |
Non-Patent Citations (2)
Title |
---|
百度智能小程序工具 调试;w3cschool;《w3cschool》;20180710;第1-6页 * |
面向宇航未处理器的多目标调试器软件框架KDMON;易会战;《计算机工程与科学》;20121231;第34卷(第10期);第156-160页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109739770A (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739770B (zh) | 小程序的调试方法及装置 | |
CN110673576B (zh) | 自动测试方法与装置、车辆和存储介质 | |
CN110134386B (zh) | 一种程序编辑方法和装置 | |
CN108563575B (zh) | 应用程序测试方法、装置、终端及计算机可读存储介质 | |
CN107317853B (zh) | 消息弹窗动效展示方法、装置及系统 | |
CN107463400B (zh) | 移动应用的热更新方法及终端设备 | |
JPWO2012049750A1 (ja) | 車両データ取得システム及び車両データ取得方法 | |
CN111090915A (zh) | 自动驾驶仿真方法、装置和存储介质 | |
CN109086175B (zh) | 一种板卡测试方法及装置 | |
CN114398172A (zh) | 资源配置方法、装置、电子设备及计算机可读存储介质 | |
CN111123728B (zh) | 无人车仿真方法、装置、设备及计算机可读介质 | |
CN113133041B (zh) | 动态间隔列控车载中车车通信功能的测试方法及装置 | |
CN111949510B (zh) | 测试处理方法、装置、电子设备及可读存储介质 | |
CN111123730B (zh) | 无人驾驶故障仿真方法、装置、设备及计算机可读介质 | |
CN111008143A (zh) | 覆盖率调度测试方法、终端设备及计算机可读存储介质 | |
CN113342702B (zh) | 一种应用程序测试方法、装置、设备及可读存储介质 | |
CN115587026A (zh) | 芯片测试方法、装置、存储介质及芯片 | |
CN112559336B (zh) | 自适应调试异构计算芯片的方法、装置、系统及主板芯片 | |
CN111124592B (zh) | 仿真任务执行方法和装置 | |
JP2018537779A (ja) | 制御装置の動作方法ならびに外部バイパスのために設計されている制御装置 | |
CN102880457B (zh) | 一种对数据进行处理的方法和设备 | |
JP6463445B1 (ja) | 車載制御装置 | |
US8171341B2 (en) | Method for controlling an operating mechanism and a manipulation unit | |
CN111831284A (zh) | 渲染调试方法、装置及设备 | |
KR20190083512A (ko) | 소프트웨어 검증 장치 및 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |