CN110781080B - 程序调试方法及装置、存储介质 - Google Patents

程序调试方法及装置、存储介质 Download PDF

Info

Publication number
CN110781080B
CN110781080B CN201910963097.9A CN201910963097A CN110781080B CN 110781080 B CN110781080 B CN 110781080B CN 201910963097 A CN201910963097 A CN 201910963097A CN 110781080 B CN110781080 B CN 110781080B
Authority
CN
China
Prior art keywords
debugging
page
debug
refreshing
platform
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
Application number
CN201910963097.9A
Other languages
English (en)
Other versions
CN110781080A (zh
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.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software 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 Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201910963097.9A priority Critical patent/CN110781080B/zh
Publication of CN110781080A publication Critical patent/CN110781080A/zh
Application granted granted Critical
Publication of CN110781080B publication Critical patent/CN110781080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开是关于一种程序调试方法及装置、存储介质。该方法包括:在针对调试对象的调试过程中,接收调试前端发送的页面刷新信号,其中,所述调试对象包括:快应用和/或小程序;根据所述页面刷新信号,中断所述调试对象的运行;根据所述页面刷新信号确定页面刷新方式;在中断所述调试对象的运行后,基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面。通过本公开的技术方案,提供不同刷新方式的选择,无需在每次刷新页面时均重启调试前端和调试平台,从而提升调试效率。

Description

程序调试方法及装置、存储介质
技术领域
本公开涉及计算机通信结束,尤其涉及一种程序调试方法及装置、电子设备及存储介质。
背景技术
目前,移动电子设备,如移动电话、平板电脑、智能可穿戴设备等,已经被广泛应用于通信、娱乐、教育等各个领域。用户可以基于移动终端上的应用程序实现相应的功能,例如,快应用、小程序等。
以快应用为例,快应用是一种基于手机硬件平台的新型应用形态,用户无需下载安装,即点即用,可以享受原生应用的性能体验。在进行快应用开发的过程中,开发者可以通过编写JS代码,实现快应用在Android***、IOS***,WebView等多端的运行。
开发者在开发快应用的过程中,需要查看快应用的运行效果,并检查其页面、样式、逻辑等的正确性。在调试过程中,需要对快应用和调试前端进行刷新,查看调试结果。但每次刷新时都需要重启调试平台和调试前端,调试效率较低。
发明内容
本公开提供一种程序调试方法及装置、存储介质。
根据本公开实施例的第一方面,提供一种程序调试方法,所述方法应用于调试平台,包括:
在针对调试对象的调试过程中,接收调试前端发送的页面刷新信号,其中,所述调试对象包括:快应用和/或小程序;
根据所述页面刷新信号,中断所述调试对象的运行;
根据所述页面刷新信号确定页面刷新方式;
在中断所述调试对象的运行后,基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面。
在一些实施例中,所述根据所述刷新信号确定页面刷新方式,包括:
当所述页面刷新信号为重启刷新信号时,确定所述页面刷新方式为通过所述调试对象的重启进行页面刷新;
当所述页面刷新信号为热加载页面信号时,确定所述页面刷新方式为重新渲染所述调试对象的页面。
在一些实施例中,当所述页面刷新方式为通过所述调试对象的重启进行页面刷新时,所述基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面,包括:
根据所述页面刷新信号,重新运行所述调试对象至目标断点并暂停;
基于所述调试对象在所述目标断点的运行结果,刷新重启后的所述调试前端显示的所述调试对象的页面。
在一些实施例中,当所述页面刷新方式为重新渲染所述调试对象的页面时,所述基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面,包括:
在所述调试前端和所述调试平台均完成所述调试对象的初始化后,所述调试平台重新渲染所述调试对象的页面并得到重新渲染后的页面数据;
将所述页面数据发送给所述调试对象。
在一些实施例中,所述方法还包括:
与所述调试前端交互所述调试对象初始化的同步信息;
基于所述同步信息,确定所述调试前端和所述调试平台是否均完成出所述调试对象的初始化。
在一些实施例中,所述与所述调试前端交互所述调试对象初始化的同步信息,包括:
接收所述调试前端在完成所述调试对象发送的第一类同步信息;若所述调试平台还未完成所述调试对象的初始化,所述调试平台根据所述第一类同步信息进行所述调试对象的初始化;
或者,
所述调试平台在完成所述调试对象后向所述调试前端发送第二类同步信息,其中,所述第二类同步信息,用于触发所述调试对象进行所述调试对象的初始化。
在一些实施例中,所述方法还包括:
在所述调试过程中当所述调试对象运行至目标断点时,向所述调试前端发送中断信息;
所述在针对调试对象的调试过程中,接收调试前端发送的页面刷新信号,包括:
在针对所述调试对象的调试过程中,接收所述调试前端基于所述中断信息发送的页面刷新信号。
在一些实施例中,所述方法还包括:
根据已记录的启动次数,确定所述调试过程中是否是首次启动所述调试对象;
所述根据所述页面刷新信号,中断所述调试对象的运行,包括:
当在所述调试过程中不是首次启动所述调试对象时,根据所述页面刷新信号,中断所述调试对象的运行。
在一些实施例中,所述方法还包括:
当在所述调试过程中是首次启动所述调试对象,继续所述调试平台中所述调试对象的运行。
根据本公开实施例的第二方面,提供一种程序调试装置,所述装置应用于调试平台,包括:
接收模块,用于在针对调试对象的调试过程中,接收调试前端发送的页面刷新信号,其中,所述调试对象包括:快应用和/或小程序;
中断模块,用于根据所述页面刷新信号,中断所述调试对象的运行;
确定模块,用于根据所述页面刷新信号确定页面刷新方式;
刷新模块,用于在中断所述调试对象的运行后,基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面。
在一些实施例中,所述确定模块,包括:
第一确定子模块,用于当所述页面刷新信号为重启刷新信号时,确定所述页面刷新方式为通过所述调试对象的重启进行页面刷新;
第二确定子模块,当所述页面刷新信号为热加载页面信号时,确定所述页面刷新方式为重新渲染所述调试对象的页面。
在一些实施例中,当所述页面刷新方式为通过所述调试对象的重启进行页面刷新时,所述基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面,包括:
根据所述页面刷新信号,重新运行所述调试对象至目标断点并暂停;
基于所述调试对象在所述目标断点的运行结果,刷新重启后的所述调试前端显示的所述调试对象的页面。
在一些实施例中,当所述页面刷新方式为重新渲染所述调试对象的页面时,所述基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面,包括:
在所述调试前端和所述调试平台均完成所述调试对象的初始化后,所述调试平台重新渲染所述调试对象的页面并得到重新渲染后的页面数据;
将所述页面数据发送给所述调试对象。
在一些实施例中,所述装置还包括:
与所述调试前端交互所述调试对象初始化的同步信息;
基于所述同步信息,确定所述调试前端和所述调试平台是否均完成出所述调试对象的初始化。
在一些实施例中,所述与所述调试前端交互所述调试对象初始化的同步信息,包括:
接收所述调试前端在完成所述调试对象发送的第一类同步信息;若所述调试平台还未完成所述调试对象的初始化,所述调试平台根据所述第一类同步信息进行所述调试对象的初始化;
或者,
所述调试平台在完成所述调试对象后向所述调试前端发送第二类同步信息,其中,所述第二类同步信息,用于触发所述调试对象进行所述调试对象的初始化。
在一些实施例中,所述装置还包括:
在所述调试过程中当所述调试对象运行至目标断点时,向所述调试前端发送中断信息;
所述在针对调试对象的调试过程中,接收调试前端发送的页面刷新信号,包括:
在针对所述调试对象的调试过程中,接收所述调试前端基于所述中断信息发送的页面刷新信号。
在一些实施例中,所述装置还包括:
根据已记录的启动次数,确定所述调试过程中是否是首次启动所述调试对象;
所述根据所述页面刷新信号,中断所述调试对象的运行,包括:
当在所述调试过程中不是首次启动所述调试对象时,根据所述页面刷新信号,中断所述调试对象的运行。
在一些实施例中,所述装置还包括:
当在所述调试过程中是首次启动所述调试对象,继续所述调试平台中所述调试对象的运行。
根据本公开实施例的第三方面,提供一种程序调试装置,所述装置至少包括:处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行上述任一项程序调试方法中的步骤。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述任一项程序调试方法中的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:通过本公开的技术方案,在需要进行页面刷新时中断调试对象的运行,并提供不同刷新方式的选择,可以根据不同的情况或需求确定当前需要的刷新方式,无需在每次刷新页面时均重启调试前端和调试平台,可以适应于更多的调试场景,并且,在选择不进行重启的方式进行刷新时,可以直接刷新页面,从而提升调试效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种程序调试方法的流程图;
图2是根据一示例性实施例示出的另一种程序调试方法的流程图;
图3是根据一示例性实施例示出的又一种程序调试方法的流程图;
图4是根据一示例性实施例示出的又一种程序调试方法的流程图;
图5是根据一示例性实施例示出的又一种程序调试方法的流程图;
图6是根据一示例性实施例示出的又一种程序调试方法的流程图;
图7是根据一示例性实施例示出的一种程序调试装置的结构框图;
图8是根据一示例性实施例示出的一种程序调试装置的实体结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种程序调试方法的流程图,该方法应用于调试平台,如图1所示,包括以下步骤:
步骤S101、在针对调试对象的调试过程中,接收调试前端发送的页面刷新信号,其中,所述调试对象包括:快应用和/或小程序;
步骤S102、根据所述页面刷新信号,中断所述调试对象的运行;
步骤S103、根据所述页面刷新信号确定页面刷新方式;
步骤S104、在中断所述调试对象的运行后,基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面。
快应用是一种基于手机硬件平台的新型应用形态,用户无需下载安装,即点即用。其中,快应用框架深度集成在终端设备的操作***中,可以在终端设备的操作***的层面形成用户需求与应用服务的无缝衔接,很多只用在原生应用中才能使用的功能,在快应用中也可以很方便的实现,可以享受原生应用的性能体验。其中,快应用的运行由快应用平台来执行,并在快应用前端进行运行结果的显示,快应用前端还可以用于接收快应用运行指令。例如,如果基于快应用前端接收到了针对于该快应用的点击操作,则具体执行点击操作的过程由快应用平台来执行。所以,实际运行快应用的过程主要基于快应用平台和快应用前端所构建的网络架构中来实现的。
而小程序是一种不需要下载安装即可使用的应用,小程序能够实现消息通知、线下扫码、公众号关联等功能,其中,通过公众号关联,用户可以实现公众号与小程序之间相互跳转。
以快应用为例,快应用程序从数据角度可以分为组件树(DOM)、样式(CSS)、逻辑(JS代码);从组成上可以分为配置文件(manifest.json)、全局文件(app.js)、页面文件(page),对该程序打包后会形成rpk打包文件,该打包文件即为快应用的应用程序(Application,App)。
在进行快应用开发的过程中,可以采用设定的调试工具对快应用进行调试。以采用Chrome DevTools(Chrome开发者工具)对快应用进行调试为例,可以将Chrome DevTools安装在用于调试的个人计算机(Personal Computer,PC)内,在PC机上运行该ChromeDevTools,并基于浏览器前端界面,来调试终端设备上安装的快应用。其中,ChromeDevTools是内嵌在Chrome浏览器里的一组用于网页制作和调试的工具,终端设备包括移动终端或非移动终端。例如,该移动终端可包括:手机、平板电脑等。非移动终端可包括:PC机等。当调试对象是快应用时,调试平台即为快应用平台,其中快应用平台与快应用调试内核共同构成快应用后端。
快应用后端可以细分为快应用平台与调试内核。其中,快应用调试内核承载着快应用调试的功能。快应用的运行模式分为“Release”与“Debug”模式。前者是正式运行在终端设备上的应用程序,没有调试功能;而后者通常用作调试应用程序,在快应用平台加载时会动态加载调试内核。
调试内核在调试中处于桥梁的位置,介于调试前端与快应用平台之间,主要包括了CSS、DOM、Debug、Console等功能,可以将快应用运行数据实时反馈到调试前端,用于与用户进行交互。从调试内核的组成结构来看,可以将其各个组成结构的对应的功能分为:调试模块的加载控制、调试前端的连接管理、调试协议的解析处理、桥接v8(JavaScript引擎,JS引擎)中的调试模块等。
当调试对象是小程序时,调试平台即为小程序平台,在调试过程中完成调试的程序运行,在实际使用中,作为程序代码的实际运行平台。其中,小程序的运行由小程序平台来执行,并在小程序前端进行运行结果的显示,其中,小程序前端还可以用于接收小程序运行指令。例如,如果基于小程序前端接收到了针对于该小程序的点击操作,则具体执行点击操作的过程由小程序平台来执行。所以,实际运行小程序的过程主要基于小程序平台和小程序前端所构建的网络架构中来实现的。
在调试的过程中,可以正常启动并运行调试对象,当程序运行至目标断点,或者接收到调试前端的指令时,则中断当前的运行,保持调试对象当前运行所包含或产生的函数、变量以及数据对象的状态,然后根据调试前端的指令进行刷新。
刷新页面的方式可以包含调试对象的重启、仅重新渲染调试对象的页面(即热加载页面)等方式。可以在调试前端提供刷新方式的选项供开发者选择,基于选择的刷新方式,调试前端向调试平台发送页面刷新信号,调试平台则基于页面刷新信号所确定的刷新方式,对调试对象进行刷新,得到刷新后的页面。
通过上述方法,可以提供不同的页面刷新方式,供开发者根据实际的调试需求来进行选择。无需在每次刷新时都重启调试对象,而是可以根据不同的情况或需求确定当前需要的刷新方式,可以适应于更多的调试场景。
在一些实施例中,所述根据所述刷新信号确定页面刷新方式,包括:
当所述页面刷新信号为重启刷新信号时,确定所述页面刷新方式为通过所述调试对象的重启进行页面刷新;
当所述页面刷新信号为热加载页面信号时,确定所述页面刷新方式为重新渲染所述调试对象的页面。
由于重启调试对象时调试平台和调试前端均会重启,当前窗口的状态信息会丢失,并且不同页面可能存在逻辑关联,因而在重启时可能会导致与需要刷新页面具有逻辑关联的其他页面的数据丢失。而直接采用热加载页面的方式,则不需要重启调试平台,重新渲染页面,可以使所有页面与刷新前数据保持一致,从而放置刷新后数据丢失。因此,在需要保留其他页面的数据的情况时,则可以选择热加载页面的等方式,直接重新渲染调试对象的页面,而不需要重启调试平台。
当然,如果不需要考虑数据丢失的问题,并且需要进行平台的重启更新数据时,则可以选用重启的方式,重新运行调试对象并且重启调试平台。还可以对调试前端也进行重启,从而保持调试前端与调试后端的状态和数据的同步。
在一些实施例中,当所述页面刷新方式为通过所述调试对象的重启进行页面刷新时,所述基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面,包括:
根据所述页面刷新信号,重新运行所述调试对象至目标断点并暂停;
基于所述调试对象在所述目标断点的运行结果,刷新重启后的所述调试前端显示的所述调试对象的页面。
为了便于调试,开发者可以在程序的特定位置设定断点。使调试对象的程序代码执行至某一处停下来,该位置则为程序的断点。此时,调试对象当前运行所包含或产生的函数、变量以及数据对象都保留其当前的状态静止不变,方便开发者进行观察,了解运行数据以及运行逻辑。
在上述调试过程中,程序代码可以运行至目标断点处暂停,此时可以进行页面的刷新。当接收到页面刷新信号后,如果采用的是重启调试对象的方式,则重新运行调试对象的代码,运行至目标断点处再次暂停。此时,将调试对象运行至目标断点处时,可以对比两次运行至目标断点时程序对应的数据、状态以及逻辑的差异,从而便于进行进一步的分析的调试。例如,当两次运行的结果存在差异时,可以根据差异来反推调试操作是否正确。如果刷新后的结果正是调试后需要达到的效果,则说明调试成功;反之,如果刷新后的结果未达到预期的效果,或者产生了其他不希望的效果时,则说明调试存在问题,需要进行重新调试,修改相应的参数,并进入下一轮的刷新。
在一些实施例中,当所述页面刷新方式为重新渲染所述调试对象的页面时,所述基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面,包括:
在所述调试前端和所述调试平台均完成所述调试对象的初始化后,所述调试平台重新渲染所述调试对象的页面并得到重新渲染后的页面数据;
将所述页面数据发送给所述调试对象。
上述初始化是指对调试平台或调试前端的数据变量赋为初始值或默认值,为程序的运行和调试完成相应的准备,加载需要的指令模块。完成初始化后,才能够使调试前端与调试平台进行有效的数据交互,从而进行后续的调试工作。
这里,采用热加载页面的方式,调试前端与调试平台均可以进行对应调试对象的初始化。完成初始化后,则调试平台重新渲染页面,完成页面的刷新。而由于后端并未重启,因此需要将刷新后的页面数据发送至调试对象,使两者数据一致,在调试前端体现调试对象的实际运行状况,将调试前端的调试操作对应提供至调试对象,完成调试对象的调试。
在一些实施例中,如图2所示,所述方法还包括:
步骤S201、与所述调试前端交互所述调试对象初始化的同步信息;
步骤S202、基于所述同步信息,确定所述调试前端和所述调试平台是否均完成出所述调试对象的初始化。
如果采用重新渲染页面的方式,即热加载页面,此时调试平台不需要重启,可以保留各页面的数据,从而解决了刷新后数据丢失的问题。但是由于热加载页面时调试平台不进行重启,因此可能出现调试前端与调试平台初始化不同步的情况。当两者同步时,调试平台与调试前端的连接模块状态一致;当调试平台重启,但调试前端未重启时,调试平台可能缺少部分调试模块的初始化动作。
此时,可以手动触发调试平台的指令接收模块,来响应调试前端发送的指令;当调试前端重启,而调试平台未重启时,调试前端的页面进行了刷新,但是确实调试平台的响应,导致其部分调试模块未初始化完成,因此,可以手动触发调试前端的指令同步模块,将调试后的指令发送至调试平台,使调试平台完成初始化的同步。
也就是说,当进行页面的热加载后,可以根据调试对象与调试前端初始化的同步信息,来判断调试前端与调试平台是否均完成了初始化,从而在刷新页面后保证调试前端与后端的状态同步。
在一些实施例中,所述与所述调试前端交互所述调试对象初始化的同步信息,包括:
接收所述调试前端在完成所述调试对象发送的第一类同步信息;若所述调试平台还未完成所述调试对象的初始化,所述调试平台根据所述第一类同步信息进行所述调试对象的初始化;
或者,
所述调试平台在完成所述调试对象后向所述调试前端发送第二类同步信息,其中,所述第二类同步信息,用于触发所述调试对象进行所述调试对象的初始化。
这里,调试平台还未完成初始化而调试前端完成初始化时,调试前端可以将初始化的同步信息发送至调试平台,使调试平台进一步完成初始化;相应的,当调试平台完成初始化后可以向调试前端发送相应的第二类同步信息,使调试前端基于第二类同步信息向调试对象发送相应的指令,从而触发调试对象的初始化,使调试前端与调试对象同步。
在一些实施例中,如图3所示,所述方法还包括:
步骤S301、在所述调试过程中当所述调试对象运行至目标断点时,向所述调试前端发送中断信息;
在步骤S101中,所述在针对调试对象的调试过程中,接收调试前端发送的页面刷新信号,包括:
步骤S302、在针对所述调试对象的调试过程中,接收所述调试前端基于所述中断信息发送的页面刷新信号。
在上述实施例的方法中,调试时可以先将调试对象运行至目标断点处暂停,此时可以向调试前端发送中断信息。当调试前端接收到中断信息时,可以获知当前的调试对象已经运行至断点处并暂停。调试前端可以获取当前程序的函数、变量和对象等等,便于开发人员的分析和调试。当需要进行刷新时,则在断点处进行刷新,也就是基于上述中断信息发送页面的刷新信息至调试平台。调试平台则可以根据该刷新信息进行页面的刷新。
在一些实施例中,如图4所示,所述方法还包括:
步骤S401、根据已记录的启动次数,确定所述调试过程中是否是首次启动所述调试对象;
在步骤S102中,所述根据所述页面刷新信号,中断所述调试对象的运行,包括:
步骤S402、当在所述调试过程中不是首次启动所述调试对象时,根据所述页面刷新信号,中断所述调试对象的运行。
对于重启调试对象的刷新,其操作与首次启动调试对象实质是相同的。首次启动调试对象时需要将调试平台与调试前端的数据加载完成;而重启时则不需要再次加载,直接运行至断点处暂停并进行后续的调试即可。因此,调试平台需要根据已记录的启动次数,来区分当前的启动是首次启动还是重新启动。当调试平台不存在已启动的记录,即启动次数为零时,则说明当前是首次启动,不需要响应刷新指令。而当调试平台记录的启动次数大于或等于1时,则说明当前为重新启动,需要对刷新指令进行响应,即根据上述页面刷新信号中断调试对象的运行,并进行后续的调试及刷新操作。
在一些实施例中,所述方法还包括:
步骤S403、当在所述调试过程中是首次启动所述调试对象,继续所述调试平台中所述调试对象的运行。
当调试平台记录的启动次数为零,即当前为首次启动时,则不对页面刷新信号进行响应,而是继续运行调试对象,完成调试平台和调试前端的加载,从而保证调试前端与后端的数据完整性。
本公开实施例还提供以下示例:
在一些实施例中,将开发者代码通过编译工具直接处理成H5(第5代html标准规范)文件,由浏览器进行渲染,并按照网页调试的方法调试H5页面,在断点位置刷新来重新加载页面。
该方法包括以下步骤:
步骤S11、快应用app通过编译工具转换为H5页面,并在本地建立一个Web Server(网页服务器);
步骤S12、调试前端通过URL(Uniform Resource Locator,统一资源定位符)访问H5页面,快应用通过浏览器进行渲染。
步骤S13、调试前端设定断点,浏览器后端执行到断点位置时会暂停。
步骤S14、调试前端刷新后,页面立刻中断执行给当前页面剩余代码,并重新执行当前页面至断点位置。
上述方法中也是由快应用转换为H5页面进行模拟,再进行调试,刷新流程如图5所示,实质上并非调试快应用本身。当页面刷新后,JS(JavaScript,程序运行平台)引擎重启会导致其他页面的数据丢失。
在刷新页面时,刷新逻辑由浏览器后端决定,无法自定义,例如,断点刷新时,开发者希望的结果可能是:重新加载快应用,或者是重新加载页面两种情况,而上述方法则不能提供这种选择。
在本公开实施例中,启动调试前,开发者可以设定刷新时选择热加载页面或者重启应用,在重启时会根据设定来选择不同的重启方式。在断点位置执行刷新时,如果开发者设定了热加载页面,则可使JS引擎不重启,而页面重新渲染,从而使所有逻辑关联的页面与刷新前数据保持一致。
在本公开实施例中,需要开发者在PC端完成快应用程序的编译,并设定页面刷新时重启应用或是热加载当前页面。在启动快应用调试后,通过调试前端设置断点,并使快应用执行至断点。该方法包括以下步骤:
步骤S21、快应用后端执行断点到指定位置并暂停,报告断点信息到调试前端,开发者此时可以点击调试前端的刷新按钮。
步骤S22、调试内核通过协议处理模块获取刷新指令,并向JS引擎发送刷新指令。
步骤S23、调试内核需要获取JS引擎的消息,如果当前时第一次启动,则向JS引擎发送完成快应用平台的加载逻辑。
步骤S24、如果当前不是第一次启动,调试内核立刻中断当前页面的剩余JS代码,根据开发者设定的调试选项,向开发者发送应用重启或热加载当前页面的指令。
步骤S25、快应用重启后加载页面,并在第一个断点处暂停。
步骤S26、刷新后调试内核进行JS引擎与调试前端的同步操作,确保JS引擎与调试前端都完成调试功能的初始化
通过上述步骤,就完成了一次断点刷新的操作,如图6中的流程所示。上述方案中,为开发者提供了断点刷新的两种选择,即重启快应用的程序或热加载当前页面。在热加载页面后,可以保持JS引擎状态不便,从而使其他具有逻辑关联的页面内容得以保留,便于开发者的继续调试。
上述断点刷新时,也可以执行完所有JS代码再重启,但是这要会有较长的耗时,不利于高效的调试。因此,重启前需要中断当前页面的剩余JS代码的运行。
由于快应用不同于网页,网页的JS引擎总能与调试前端保持一致,包括同时开启、关闭、重启等,而快应用的情况则不同:
在刷新页面的方式为重启快应用时,快应用的JS引擎与调试前端都会重启,此时JS引擎与调试前端状态保持一致。刷新页面的方式为热加载页面时,JS引擎状态与调试前端可能出现不同步的情况。包括如下三种情况:
第一、同步状态,即JS引擎与调试前端的连接模块状态一致。
第二、JS引擎重启,但调试前端未重启,导致JS引擎缺少部分调试模块的初始化动作。此时需要手动触发JS引擎的Runtime(运行时),用来响应调试前端发送的JS指令。
第三、调试前端重启,但JS引擎未重启,此时调试前端页面刷新了,但是缺少JS引擎的相应,导致其部分调试模块未初始化完成,此时需要手动触发调试前端的Runtime模块,来实现与JS引擎的指令交互。
由于调试前端的首次启动与刷新即重启行为是类似的,因此,调试内核需要对刷新行为做出判断。如果当前刷新指令为第一次刷新,则实际上是调试前端的初次加载,此时不需要重启快应用,而是可以继续运行直至调试前端加载完成。而刷新指令为第二次刷新或第三次刷新等情况时,则可以对刷新指令做出响应,在断点处中断并重启快应用或热加载页面。
图7是根据一示例性实施例示出的一种程序调试装置700的结构框图。参照图7,该装置700应用于调试平台,该装置700包括:接收模块701、中断模块702、确定模块703和刷新模块704,其中:
接收模块701,用于在针对调试对象的调试过程中,接收调试前端发送的页面刷新信号,其中,所述调试对象包括:快应用和/或小程序;
中断模块702,用于根据所述页面刷新信号,中断所述调试对象的运行;
确定模块703,用于根据所述页面刷新信号确定页面刷新方式;
刷新模块704,用于在中断所述调试对象的运行后,基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面。
在一些实施例中,所述确定模块,包括:
第一确定子模块,用于当所述页面刷新信号为重启刷新信号时,确定所述页面刷新方式为通过所述调试对象的重启进行页面刷新;
第二确定子模块,当所述页面刷新信号为热加载页面信号时,确定所述页面刷新方式为重新渲染所述调试对象的页面。
在一些实施例中,当所述页面刷新方式为通过所述调试对象的重启进行页面刷新时,所述基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面,包括:
根据所述页面刷新信号,重新运行所述调试对象至目标断点并暂停;
基于所述调试对象在所述目标断点的运行结果,刷新重启后的所述调试前端显示的所述调试对象的页面。
在一些实施例中,当所述页面刷新方式为重新渲染所述调试对象的页面时,所述基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面,包括:
在所述调试前端和所述调试平台均完成所述调试对象的初始化后,所述调试平台重新渲染所述调试对象的页面并得到重新渲染后的页面数据;
将所述页面数据发送给所述调试对象。
在一些实施例中,所述装置还包括:
与所述调试前端交互所述调试对象初始化的同步信息;
基于所述同步信息,确定所述调试前端和所述调试平台是否均完成出所述调试对象的初始化。
在一些实施例中,所述与所述调试前端交互所述调试对象初始化的同步信息,包括:
接收所述调试前端在完成所述调试对象发送的第一类同步信息;若所述调试平台还未完成所述调试对象的初始化,所述调试平台根据所述第一类同步信息进行所述调试对象的初始化;
或者,
所述调试平台在完成所述调试对象后向所述调试前端发送第二类同步信息,其中,所述第二类同步信息,用于触发所述调试对象进行所述调试对象的初始化。
在一些实施例中,所述装置还包括:
在所述调试过程中当所述调试对象运行至目标断点时,向所述调试前端发送中断信息;
所述在针对调试对象的调试过程中,接收调试前端发送的页面刷新信号,包括:
在针对所述调试对象的调试过程中,接收所述调试前端基于所述中断信息发送的页面刷新信号。
在一些实施例中,所述装置还包括:
根据已记录的启动次数,确定所述调试过程中是否是首次启动所述调试对象;
所述根据所述页面刷新信号,中断所述调试对象的运行,包括:
当在所述调试过程中不是首次启动所述调试对象时,根据所述页面刷新信号,中断所述调试对象的运行。
在一些实施例中,所述装置还包括:
当在所述调试过程中是首次启动所述调试对象,继续所述调试平台中所述调试对象的运行。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
图8是根据一示例性实施例示出的一种程序调试装置800的实体结构框图。例如,装置800可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
参照图8,装置800可以包括以下一个或多个组件:处理组件801,存储器802,电源组件803,多媒体组件804,音频组件805,输入/输出(I/O)接口806,传感器组件807,以及通信组件808。
处理组件801通常装置800的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件801可以包括一个或多个处理器810来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件801还可以包括一个或多个模块,便于处理组件801和其他组件之间的交互。例如,处理组件801可以包括多媒体模块,以方便多媒体组件804和处理组件801之间的交互。
存储器810被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘或光盘。
电源组件803为装置800的各种组件提供电力。电源组件803可以包括:电源管理***,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件804包括在所述装置800和用户之间提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件804包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和/或后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件805被配置为输出和/或输入音频信号。例如,音频组件805包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器810或经由通信组件808发送。在一些实施例中,音频组件805还包括一个扬声器,用于输出音频信号。
I/O接口806为处理组件801和***接口模块之间提供接口,上述***接口模块可以是键盘、点击轮、按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件807包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件807可以检测到装置800的打开/关闭状态、组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件807还可以检测装置800或装置800的一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件807可以包括接近传感器,被配置为在没有任何的物理接触时检测附近物体的存在。传感器组件807还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件807还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件808被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi、2G或3G,或它们的组合。在一个示例性实施例中,通信组件808经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件808还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器802,上述指令可由装置800的处理器810执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行上述实施例中提供的任一种程序调试方法中的步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (18)

1.一种程序调试方法,其特征在于,所述方法应用于调试平台,包括:
在调试过程中当调试对象运行至目标断点时,向调试前端发送中断信息;
在针对所述调试对象的调试过程中,接收所述调试前端基于所述中断信息发送的页面刷新信号,其中,所述调试对象包括:快应用和/或小程序;
根据所述页面刷新信号,中断所述调试对象的运行;
根据所述页面刷新信号确定页面刷新方式;
在中断所述调试对象的运行后,基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面。
2.根据权利要求1所述的方法,其特征在于,所述根据所述刷新信号确定页面刷新方式,包括:
当所述页面刷新信号为重启刷新信号时,确定所述页面刷新方式为通过所述调试对象的重启进行页面刷新;
当所述页面刷新信号为热加载页面信号时,确定所述页面刷新方式为重新渲染所述调试对象的页面。
3.根据权利要求2所述的方法,其特征在于,当所述页面刷新方式为通过所述调试对象的重启进行页面刷新时,所述基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面,包括:
根据所述页面刷新信号,重新运行所述调试对象至所述目标断点并暂停;
基于所述调试对象在所述目标断点的运行结果,刷新重启后的所述调试前端显示的所述调试对象的页面。
4.根据权利要求2所述的方法,其特征在于,当所述页面刷新方式为重新渲染所述调试对象的页面时,所述基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面,包括:
在所述调试前端和所述调试平台均完成所述调试对象的初始化后,所述调试平台重新渲染所述调试对象的页面并得到重新渲染后的页面数据;
将所述页面数据发送给所述调试对象。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
与所述调试前端交互所述调试对象初始化的同步信息;
基于所述同步信息,确定所述调试前端和所述调试平台是否均完成出所述调试对象的初始化。
6.根据权利要求5所述的方法,其特征在于,所述与所述调试前端交互所述调试对象初始化的同步信息,包括:
接收所述调试前端在完成所述调试对象发送的第一类同步信息;若所述调试平台还未完成所述调试对象的初始化,所述调试平台根据所述第一类同步信息进行所述调试对象的初始化;
或者,
所述调试平台在完成所述调试对象后向所述调试前端发送第二类同步信息,其中,所述第二类同步信息,用于触发所述调试对象进行所述调试对象的初始化。
7.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:
根据已记录的启动次数,确定所述调试过程中是否是首次启动所述调试对象;
所述根据所述页面刷新信号,中断所述调试对象的运行,包括:
当在所述调试过程中不是首次启动所述调试对象时,根据所述页面刷新信号,中断所述调试对象的运行。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当在所述调试过程中是首次启动所述调试对象,继续所述调试平台中所述调试对象的运行。
9.一种程序调试装置,其特征在于,所述装置应用于调试平台,包括:
在调试过程中当调试对象运行至目标断点时,向调试前端发送中断信息;
接收模块,用于在针对所述调试对象的调试过程中,接收所述调试前端基于所述中断信息发送的页面刷新信号,其中,所述调试对象包括:快应用和/或小程序;
中断模块,用于根据所述页面刷新信号,中断所述调试对象的运行;
确定模块,用于根据所述页面刷新信号确定页面刷新方式;
刷新模块,用于在中断所述调试对象的运行后,基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面。
10.根据权利要求9所述的装置,其特征在于,所述确定模块,包括:
第一确定子模块,用于当所述页面刷新信号为重启刷新信号时,确定所述页面刷新方式为通过所述调试对象的重启进行页面刷新;
第二确定子模块,当所述页面刷新信号为热加载页面信号时,确定所述页面刷新方式为重新渲染所述调试对象的页面。
11.根据权利要求10所述的装置,其特征在于,当所述页面刷新方式为通过所述调试对象的重启进行页面刷新时,所述基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面,包括:
根据所述页面刷新信号,重新运行所述调试对象至所述目标断点并暂停;
基于所述调试对象在所述目标断点的运行结果,刷新重启后的所述调试前端显示的所述调试对象的页面。
12.根据权利要求10所述的装置,其特征在于,当所述页面刷新方式为重新渲染所述调试对象的页面时,所述基于确定的所述页面刷新方式刷新所述调试前端显示的所述调试对象的页面,包括:
在所述调试前端和所述调试平台均完成所述调试对象的初始化后,所述调试平台重新渲染所述调试对象的页面并得到重新渲染后的页面数据;
将所述页面数据发送给所述调试对象。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
与所述调试前端交互所述调试对象初始化的同步信息;
基于所述同步信息,确定所述调试前端和所述调试平台是否均完成出所述调试对象的初始化。
14.根据权利要求13所述的装置,其特征在于,所述与所述调试前端交互所述调试对象初始化的同步信息,包括:
接收所述调试前端在完成所述调试对象发送的第一类同步信息;若所述调试平台还未完成所述调试对象的初始化,所述调试平台根据所述第一类同步信息进行所述调试对象的初始化;
或者,
所述调试平台在完成所述调试对象后向所述调试前端发送第二类同步信息,其中,所述第二类同步信息,用于触发所述调试对象进行所述调试对象的初始化。
15.根据权利要求9至14任一所述的装置,其特征在于,所述装置还包括:
根据已记录的启动次数,确定所述调试过程中是否是首次启动所述调试对象;
所述根据所述页面刷新信号,中断所述调试对象的运行,包括:
当在所述调试过程中不是首次启动所述调试对象时,根据所述页面刷新信号,中断所述调试对象的运行。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
当在所述调试过程中是首次启动所述调试对象,继续所述调试平台中所述调试对象的运行。
17.一种程序调试装置,其特征在于,所述装置至少包括:处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行上述权利要求1至8任一项提供的程序调试方法中的步骤。
18.一种非临时性计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述权利要求1至8任一项提供的程序调试方法中的步骤。
CN201910963097.9A 2019-10-11 2019-10-11 程序调试方法及装置、存储介质 Active CN110781080B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910963097.9A CN110781080B (zh) 2019-10-11 2019-10-11 程序调试方法及装置、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910963097.9A CN110781080B (zh) 2019-10-11 2019-10-11 程序调试方法及装置、存储介质

Publications (2)

Publication Number Publication Date
CN110781080A CN110781080A (zh) 2020-02-11
CN110781080B true CN110781080B (zh) 2023-06-30

Family

ID=69385137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910963097.9A Active CN110781080B (zh) 2019-10-11 2019-10-11 程序调试方法及装置、存储介质

Country Status (1)

Country Link
CN (1) CN110781080B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338939A (zh) * 2020-02-21 2020-06-26 网易传媒科技(北京)有限公司 应用程序调试方法、介质、装置和计算设备
CN111338961B (zh) * 2020-02-28 2023-10-20 北京小米移动软件有限公司 应用调试方法及装置、电子设备及存储介质
JP7241931B2 (ja) * 2020-11-16 2023-03-17 バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド ミニプログラムをデバッグする方法、装置、電子機器、記憶媒体及びコンピュータプログラム
CN114035855B (zh) * 2021-09-30 2023-10-27 鸣芯信息科技(上海)有限公司 固件的调试方法、装置、终端及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902618A (zh) * 2011-07-28 2013-01-30 华为技术有限公司 移动设备应用程序开发调试的方法及装置
CN103064750A (zh) * 2012-12-25 2013-04-24 北京奇虎科技有限公司 一种浏览器控件的中断恢复方法及***
CN104035945A (zh) * 2013-03-08 2014-09-10 腾讯科技(深圳)有限公司 浏览器的页面刷新方法及页面刷新装置
CN108280027A (zh) * 2018-02-08 2018-07-13 金蝶软件(中国)有限公司 一种脚本的并发调试渲染方法及装置
CN109032917A (zh) * 2017-06-09 2018-12-18 北京金山云网络技术有限公司 页面调试方法和***、移动终端以及电脑端
CN109542463A (zh) * 2018-10-26 2019-03-29 深圳壹账通智能科技有限公司 编译文件包发送方法、装置、计算机设备及存储介质
CN109800173A (zh) * 2019-01-28 2019-05-24 腾讯科技(深圳)有限公司 程序调试方法、装置及存储介质
CN110032512A (zh) * 2019-03-28 2019-07-19 腾讯科技(深圳)有限公司 一种小程序的调试方法、相关设备及终端

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020085029A1 (en) * 2000-12-29 2002-07-04 Jamal Ghani Computer based interactive collaboration system architecture
JP2008052533A (ja) * 2006-08-25 2008-03-06 Matsushita Electric Ind Co Ltd デバッグ装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902618A (zh) * 2011-07-28 2013-01-30 华为技术有限公司 移动设备应用程序开发调试的方法及装置
CN103064750A (zh) * 2012-12-25 2013-04-24 北京奇虎科技有限公司 一种浏览器控件的中断恢复方法及***
CN104035945A (zh) * 2013-03-08 2014-09-10 腾讯科技(深圳)有限公司 浏览器的页面刷新方法及页面刷新装置
CN109032917A (zh) * 2017-06-09 2018-12-18 北京金山云网络技术有限公司 页面调试方法和***、移动终端以及电脑端
CN108280027A (zh) * 2018-02-08 2018-07-13 金蝶软件(中国)有限公司 一种脚本的并发调试渲染方法及装置
CN109542463A (zh) * 2018-10-26 2019-03-29 深圳壹账通智能科技有限公司 编译文件包发送方法、装置、计算机设备及存储介质
CN109800173A (zh) * 2019-01-28 2019-05-24 腾讯科技(深圳)有限公司 程序调试方法、装置及存储介质
CN110032512A (zh) * 2019-03-28 2019-07-19 腾讯科技(深圳)有限公司 一种小程序的调试方法、相关设备及终端

Also Published As

Publication number Publication date
CN110781080A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
CN110781080B (zh) 程序调试方法及装置、存储介质
CN109032606B (zh) 原生应用程序的编译处理方法、装置及终端
CN111221559B (zh) 应用更新方法、装置、存储介质、终端及服务器
CN111273899B (zh) 代码处理方法、装置、电子设备及存储介质
CN109117144B (zh) 页面处理方法、装置、终端及存储介质
CN110795354A (zh) 信息处理方法、装置及存储介质
CN109684112B (zh) 程序文件运行方法、装置、终端及存储介质
CN106612149B (zh) 射频电路测试方法、装置、***及移动终端
CN109901886B (zh) 页面语言切换方法、***、装置和计算机可读存储介质
CN110851370B (zh) 程序测试方法及装置、存储介质
CN110221813B (zh) 应用的数据连接建立方法、装置、存储介质和电子设备
CN110908904A (zh) 调试快应用的方法、调试快应用的装置及电子设备
CN111596980B (zh) 一种信息处理方法及装置
CN113141530B (zh) 基于遥控交互方法、装置、电子设备和存储介质
CN113778687B (zh) 内存分配信息处理方法、装置、电子设备及存储介质
CN112087544B (zh) 一种提示方法及装置
CN111338961B (zh) 应用调试方法及装置、电子设备及存储介质
CN112083981A (zh) 一种页面视图组件的创建方法和装置
CN114860242A (zh) 一种编译方法、编译装置及存储介质
CN112631695A (zh) 一种数据校验方法、装置、电子设备及存储介质
CN111124553B (zh) 一种程序执行方法、装置、终端及存储介质
CN112181406A (zh) 一种渲染引擎的共享方法和装置
CN110311968B (zh) 流式加载文件的方法、装置及智能设备
CN111767063A (zh) 应用程序的资源更新方法、装置及设备
CN110647351B (zh) 源代码地图文件还原方法、装置及存储介质

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