CN111338961B - 应用调试方法及装置、电子设备及存储介质 - Google Patents

应用调试方法及装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111338961B
CN111338961B CN202010128642.5A CN202010128642A CN111338961B CN 111338961 B CN111338961 B CN 111338961B CN 202010128642 A CN202010128642 A CN 202010128642A CN 111338961 B CN111338961 B CN 111338961B
Authority
CN
China
Prior art keywords
debugging
debug
application element
application
request
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
CN202010128642.5A
Other languages
English (en)
Other versions
CN111338961A (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 CN202010128642.5A priority Critical patent/CN111338961B/zh
Publication of CN111338961A publication Critical patent/CN111338961A/zh
Application granted granted Critical
Publication of CN111338961B publication Critical patent/CN111338961B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Abstract

本公开是关于一种应用调试方法及装置、电子设备及存储介质。应用于编译侧的应用调试方法可包括:通过与运行侧之间的调试连接,向所述运行侧发送应用元素;通过所述调试连接接收所述运行侧为所述应用元素分配的调试标识;根据所述调试标识向所述运行侧发送调试请求;接收所述运行侧根据所述调试请求返回的运行结果,简化了应用调试,实现了在线调试,且提升了调试效率。

Description

应用调试方法及装置、电子设备及存储介质
技术领域
本公开涉及信息技术领域但不限于信息技术领域,尤其涉及一种应用调试方法及装置、电子设备及存储介质。
背景技术
在相关技术中,开发者在应用调试过程中,发现样式与预期不符,需要调整需要在代码编辑器修改,修改后在编译侧编译,发送到运行侧。在运行侧运行,查看修改后效果。如果有问题反复修改重复以上过程,调试不方便且效率低。例如,可以参考图1所示,用户手动连接编译侧及运行侧,将带调试的应用打包成RPK文件,该生成的RPK文件是后缀名为.rpk的系统文件,是应用程序(Application,APP)的一种。APP内包括多个页面。当对该APP进行调试时,运行APP中页面的设备,称为运行侧。在相关技术中,运行侧和编译侧之间的连接和调试很多操作都需要作业人员手动操作,效率低且容易出错。
发明内容
本公开提供一种应用调试方法及装置、电子设备及存储介质。
本申请实施例第一方面提供一种应用调试方法,应用于编译侧,包括:
通过与运行侧之间的调试连接,向所述运行侧发送应用元素;
通过所述调试连接接收所述运行侧为所述应用元素分配的调试标识;
根据所述调试标识向所述运行侧发送调试请求;
接收所述运行侧根据所述调试请求返回的运行结果。
基于上述方案,所述通过所述调试连接向所述运行侧发送应用元素,包括:
通过所述调试连接向所述运行侧发送待调试页面的各应用元素。
基于上述方案,所述通过所述调试连接接收所述运行侧为所述应用元素分配的调试标识,包括:通过所述调试连接接收所述待调试页面中的各应用元素的调试标识;
所述根据所述调试标识向所述运行侧发送调试请求,包括:
基于作用于所述调试页面的调试操作选中的调试标识,通过所述调试连接向所述运行侧发送携带有被调试操作选中的调试标识的所述调试请求。
基于上述方案,所述方法,还包括:
在接收所述运行结果之前,接收所述运行侧根据所述调试请求所呈现所述应用元素的第一样式文本;
在所述调试页面显示所述第一样式文本;
检测对所述第一样式文本的编辑操作;
通过所述调试连接,将基于所述编辑操作产生的第二样式文本及所述第一样式文本对应的调试标识发送给所述运行侧;
所述接收所述运行侧根据所述调试请求返回的运行结果,包括:接收所述运行侧对所述第二样式文本的显示结果。
基于上述方案,所述接收所述运行侧根据所述调试请求返回的运行结果,包括:
接收所述运行侧根据所述调试请求显示对应应用元素的截屏图像。
本申请实施例的第二方面提供一种应用调试方法,应用于运行侧,所述方法,包括:
通过与编译侧之间的调试连接,接收应用元素;
为所述应用元素分配调试标识;
通过所述调试连接将所述调试标识发送给所述编译侧;
通过所述调试连接接收所述编译侧发送的调试请求;
根据所述调试请求呈现所述调试标识所对应的应用元素;
根据所述应用元素向所述编译侧返回所述运行结果。
基于上述方案,所述根据所述调试请求呈现所述调试标识所对应的应用元素,包括:
根据所述调试请求,检测所述应用元素所对应的样式文本是否包含非法样式;
当所述样式文本包含非法样式后,对所述应用元素所对应合法样式进行渲染及显示;
所述根据所述应用元素向所述编译侧返回所述运行结果,包括:
将显示所述合法样式时的截屏图像发送给所述编译侧。
基于上述方案,所述方法还包括:
在向所述编译侧发送运行结果之前,获取所述调试请求所携带调试标识所对应应用元素的第一样式文本;
将所述第一样式文本发送给所述编译侧;
接收所述编译侧对所述第一样式文本编辑之后得到的第二样式文本及所述第一样式文本的调试标识;
所述根据所述调试请求呈现所述调试标识所对应的应用元素,包括:
根据所述调试请求呈现所述调试标识所对应的第二样式文本。
基于上述方案,所述方法还包括:
在为所述应用元素分配调试标识之后,建立应用元素的节点树;
在接收到所述调试请求之后,遍历所述节点树确定所述调试请求所携带所述调试标识所对应的应用元素。
基于上述方案,所述运行侧运行有与所述编译侧所显示的调试界面对应的调试进程;
所述方法还包括:
基于所述调试进程,与所述编译侧建立所述调试连接。
本申请实施例第三方面提供一种应用调试装置,应用于编译侧,包括:
第一发送模块,用于通过与运行侧之间的调试连接,向所述运行侧发送应用元素;
第一接收模块,用于通过所述调试连接接收所述运行侧为所述应用元素分配的调试标识;
所述第一发送模块,还用于根据所述调试标识向所述运行侧发送调试请求;
所述第一接收模块,还用于接收所述运行侧根据所述调试请求返回的运行结果。
基于上述方案,所述第一发送模块,还用于通过所述调试连接向所述运行侧发送待调试页面的各应用元素。
基于上述方案,所述第一接收模块,具体用于通过所述调试连接接收所述待调试页面中的各应用元素的调试标识;
所述第一发送模块,具体用于基于作用于所述调试页面的调试操作选中的调试标识,通过所述调试连接向所述运行侧发送携带有被调试操作选中的调试标识的所述调试请求。
基于上述方案,所述第一接收模块,还用于在接收所述运行结果之前,接收所述运行侧根据所述调试请求所呈现所述应用元素的第一样式文本;
所述装置,还包括:
显示模块,用于在所述调试页面显示所述第一样式文本;
检测模块,用于检测对所述第一样式文本的编辑操作;
所述第一发送模块,还用于通过所述调试连接,将基于所述编辑操作产生的第二样式文本及所述第一样式文本对应的调试标识发送给所述运行侧;
所述第一接收模块,还用于接收所述运行侧对所述第二样式文本的显示结果。
基于上述方案,所述第一接收模块,还用于接收所述运行侧根据所述调试请求显示对应应用元素的截屏图像。
本申请实施例第四方面提供一种应用调试装置,应用于运行侧,所述装置包括:第二发送模块、分配模块、第二接收模块及呈现模块:
所述第二接收模块,用于通过与编译侧之间的调试连接,接收应用元素;
所述分配模块,用于为所述应用元素分配调试标识;
所述第二发送模块,用于通过所述调试连接将所述调试标识发送给所述编译侧;
所述第二接收模块,还用于通过所述调试连接接收所述编译侧发送的调试请求;
所述呈现模块,用于根据所述调试请求呈现所述调试标识所对应的应用元素;
所述第二发送模块,用于根据所述应用元素向所述编译侧返回所述运行结果。
基于上述方案,所述呈现模块,还用于根据所述调试请求,检测所述应用元素所对应的样式文本是否包含非法样式;
所述装置,还包括:渲染显示模块,用于当所述样式文本包含非法样式后,对所述应用元素所对应合法样式进行渲染及显示;
所述第二发送模块,具体用于将显示所述合法样式时的截屏图像发送给所述编译侧。
基于上述方案,所述装置还包括:
获取模块,用于在向所述编译侧发送运行结果之前,获取所述调试请求所携带调试标识所对应应用元素的第一样式文本;
所述第二发送模块,还用于将所述第一样式文本发送给所述编译侧;
所述第二接收模块,还用于接收所述编译侧对所述第一样式文本编辑之后得到的第二样式文本及所述第一样式文本的调试标识;
所述呈现模块,还用于根据所述调试请求呈现所述调试标识所对应的第二样式文本。
基于上述方案,所述装置还包括:
第一建立模块,用于在为所述应用元素分配调试标识之后,建立应用元素的节点树;
遍历模块,用于在接收到所述调试请求之后,遍历所述节点树确定所述调试请求所携带所述调试标识所对应的应用元素。
基于上述方案,所述运行侧运行有与所述编译侧所显示的调试界面对应的调试进程;
所述装置还包括:
第二建立模块,用于基于所述调试进程,与所述编译侧建立所述调试连接。
本申请实施例第五方面提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:通过执行所述可执行指令实现前述第一方面或第二方面任意技术方案提供的应用调试方法。
本申请实施例第六方面提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行前述第一方面或第二方面任意技术方案提供的应用调试方法。
本申请实施例提供的应用调试方法,编译侧会自动基于与运行侧的调试连接,在不用将应用元素打包成应用(Application,App)文件的情况下,将应用元素发送给运行侧,运行侧为应用元素分配调试标识;编译侧和运行侧基于调试标识进行应用元素的在线调试。如此,在应用的调试过程中,不用调试人员自动连接编译侧和运行侧,并在编译侧和运行侧来回查看运行结果,从而简化了应用调试,实现了在线调试,且提升了调试效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是一种调试方法的流程示意图。
图2是一种根据一示例性实施例提供的调试方法的流程示意图。
图3是一种根据一示例性实施例提供的调试方法的流程示意图。
图4是一种根据一示例性实施例提供的调试方法的流程示意图。
图5是一种根据一示例性实施例提供的调试装置的结构示意图。
图6是一种根据一示例性实施例提供的调试装置的结构示意图。
图7是一种根据一示例性实施例提供的调试方法的流程示意图。
图8是根据一示例性实施例示出的一种调试装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
如图2所示,本实施例提供一种应用调试方法,应用于编译侧,包括:
S11:通过与运行侧之间的调试连接,向所述运行侧发送应用元素;
S12:通过所述调试连接接收所述运行侧为所述应用元素分配的调试标识;
S13:根据所述调试标识向所述运行侧发送调试请求;
S14:接收所述运行侧根据所述调试请求返回的运行结果。
本申请实施例中的应用调试方法可应用于编译侧的一个或多个编译设备中,该编译设备包括但不限于一个或多个个人电脑(Personal Computer,PC)。在本申请实施例中,编译可现实有编译代码的编译界面之外,还有调试代码的调试界面。
在本申请实施例中,该应用可包括:混合模式移动应用(Hybrid App)、网页应用(Web App)、原生应用(Native-App),或基于程序开发厂商定义的开发框架开发得到的应用,例如,快应用。所述快应用是基于手机硬件平台的新型应用形态,是一种介于网页应用与原生应用之间的应用类型。快应用兼具原生应用良好用户交互体验的优势与网页应用跨平台开发的优势,无需下载安装并且能够带来流畅的应用体验。
快应用的用户无需下载安装应用包,即点即用。其中,快应用框架深度集成在终端设备的操作系统中,可以在终端设备的操作系统的层面形成用户需求与应用服务的无缝衔接,很多只有在原生应用中才能使用而不能在网页应用使用的功能。在快应用中也可以很方便的实现,可以享受原生应用的性能体验。其中,快应用的运行由快应用平台来执行,并在快应用前端进行运行结果的显示。快应用前端还可以用于接收快应用的运行指令。例如,如果基于快应用前端接收到了针对于该快应用的用户操作,则具体执行用户操作的过程由快应用平台来执行。所以,实际快应用的过程主要基于快应用平台和快应用前端所构建的网络架构中来实现的。
快应用从数据角度可以分为组件树(DOM)、样式(CSS)、逻辑(JS代码);从组成上可以分为配置声明文件(manifest.json)、全局文件(app.js)、页面文件(page),对该程序打包后会形成rpk打包文件,该打包文件即为快应用的打包文件。
在本申请实施例中,编译侧可以与运行侧建立调试连接,该调试连接可为基于网络套接字(Web Socket)建立的任意连接,例如,TCP/IP连接等。
在本申请实施例中,所述调试连接可为有线连接或者无线连接,可专用于应用的调试。
在本申请实施例中,会将需要调试的应用元素发送给运行侧。该应用元素可包括但不限于:组件树、样式或代码逻辑(例如,JS代码)。
在向运行侧发送应用元素之后,运行侧为了实现对应应用元素的调试,会给应用原生分配调试标识,例如,为每一个待调试的应用元素分配位移的调试标识(Identity,ID),该调试标识可为调试序列号(Series Number,SN)。在一些实施例中,不同类型的应用元素具有不同的类别码,同一个类别的应用元素具有不同的序列号。
运行侧包括一个或多个能够进行调试或者运行待调试的应用元素的运行设备。该运行设备包括手机、平板、可穿戴式设备、车载设备、智能家居设备或智能办公设备等等。
运行侧会通过调试连接告知编译侧各应用元素的调试标识。该调试标识可为运行侧临时分配的任意标识,在完成调试之后就可以弃用。
接收到调试标识之后,根据编译人员的调试指令,可逐一调试各个应用元素。具体当前调试哪一个应用元素,可以通过携带对应应用元素的调试标识携带在调试请求中,如此运行侧接收到携带有调试标识的调试请求之后,就运行对应的应用元素从而获得运行结果,该运行结果可以作为运行结果的一部分返回。例如,运行侧将运行结果返回给编译侧,编译侧显示运行侧的运行结果,若编译人员通过观察确定当前运行结果即为期待结果,则完成了调试;这种情况下,在调试过程中编译侧并未对代码进行修改、删除或者增加等编辑操作。但是在一些情况下,若运行结果不满意,编译侧可以在调试界面进行代码需改,将调试后的应用元素再返回给运行侧运行,再接收运行结果,如此反复操作,完成应用所包含代码的调试。
在本申请实施例中过程中,编译侧会将待调试的应用元素发送给运行侧,运行侧自动分发调试标识,后续基于调试标识进行调试,无需编译人员将待调试的应用元素打包成rpk文件之后发送给运行设备,到运行设备上观察运行,然后再到编译侧进行编译调试。在本申请实施例中,编译侧显示调试界面,在调试界面可以触发运行侧的运行设备进行运行实现在线调试。
在一些实施例中,所述编译侧与所述调试侧之间的连接可为远程连接,且由于调试界面上可显示运行结果,这种远程连接可以打破空间限制,编译人员可以不再编译设备和运行设备反复切换,简化了应用调试,提升了调试效率。
在一些实施例中,所述方法还包括:
在显示所述运行结果之后,检测调试操作;
根据所述调试操作修改调试后的应用代码;
将调试后的应用代码及对应的调试标识返回给运行侧;
接收运行侧对调试后的应用代码再次运行的运行结果。
此处的应用代码可包括:逻辑代码、组件或样式所对应的代码。
当然此处是对调试的一种举例,具体调试不限于此。
在一些实施例中,所述S11可包括:通过所述调试连接向所述运行侧发送待调试页面的各应用元素。
所述待调试页面可为调试界面当前显示的应用页面。通过所述调试连接,可以将当前页面的所有应用元素一次性均发送给运行侧。运行侧逐一为当前页面的所有应用元素分发调试标识。
如此,在当前界面包含有多个应用元素时,则编译侧会接收到多个调试标识。调试界面可显示这些调试标识。若接收到作用于一个或多个调试标识的调试操作时,编译侧会通过调试连接向运行侧发送携带有被调试操作作用的调试标识的调试请求。
该调试请求会出发运行设备运行对应的应用元素,从而获运行结果。该运行结果可以直接返回给编译侧。在另一些实施例中,运行侧会将显示有运行结果的显示界面截屏,并把截屏获得截屏图像返回给编译侧。
编译侧的编译设备在调试界面显示运行侧返回的截屏图像,供编译人员查看是否是当前应用元素在运行侧运行之后所显示结果是否是自己期望的结果。
当然在一些实施例中,所述方法还可包括:编译侧还可能会将运行侧当前运行的应用元素显示在调试界面上,如此,调试界面上一部分用于显示运行结果,一部分用于显示对应于该运行结果的应用元素。这些运行元素是可以在线编辑的,若编译人员发现运行结果非期望运行结果,可以直接在线编辑应用元素,从而实现应用调试;如此,编译人员不用在编译设备和运行设备之间来回跑,或者来回切换看。若应用元素被编译之后,会通过调试连接及时发送给运行侧运行调试后的应用元素,并将运行结果返回到编译侧,编译侧的编译设备会在调试界面上更新应用元素调试之后的运行结果。
在一些实施例中,所述S12可包括:通过所述调试连接接收所述待调试页面中的各应用元素的调试标识;所述S13可包括:基于作用于所述调试页面的调试操作选中的调试标识,通过所述调试连接向所述运行侧发送携带有被调试操作选中的调试标识的所述调试请求。
例如,一个待调试的调试页面有N个应用元素,N为任意正整数,则在S12中会通过调试连接接收到N个调试标识。编译侧的编译设备会检测作用于调试界面上的调试操作,该调试操作作用于第n个调试标识时,n为小于或等于N的正整数。编译侧会在S13中将第n个调试标识携带在调试请求中发送给运行侧。运行侧接收到调试请求之后,从调试请求中提取出第n个调试标识,并运行第n个调试标识所对应的应用元素,得到运行结果,将运行结果截屏或者打包成页面文件返回给编译侧,供编译侧设备显示运行结果,以便编译人员在编译侧的一台编译设备上完成应用的代码调试。
在一些实施例中,一个调试请求可以可携带一个或多个调试标识。如此,调试过程中,编译侧的编译设备和运行侧的运行设备可以根据编译人员的调试需求,按照不同大小的粒度进行应用元素的调试。例如,将多个具有调用关系的应用元素的调试标识携带在同一个调试请求中发送给运行侧进行运行,如此,运行设备运行完这些应用元素之后返回运行结果,如此可以实现多个应用元素之间调用关系的调试。当然在调试请求仅携带一个调试标识时,可以对单个应用元素进行调试。
在一些实施例中,如图3所示,所述方法,还包括:
S15:在接收所述运行结果之前,接收所述运行侧根据所述调试请求所呈现所述应用元素的第一样式文本;
S16:在所述调试页面显示所述第一样式文本;
S17:检测对所述第一样式文本的编辑操作;
S18:通过所述调试连接,将基于所述编辑操作产生的第二样式文本及所述第一样式文本对应的调试标识发送给所述运行侧;
所述S14可包括:接收所述运行侧对所述第二样式文本的显示结果。
此处的第一样式文本可为待调试的应用元素被调试修改之前的所对应的样式文本。
运行侧根据调试请求携带的调试标识,根据自身为应用元素分配调试标识的记录,找到对应的应用元素,并将该应用元素所对应的样式文本找出来,作为所述第一样式文本返回给编译侧,由编译设备进行显示。
在该第一样式文本中包括样式的颜色、背景、字体、显示风格和/或布局格式等。
在调试界面上接收编辑操作,该编辑操作可为调试过程中编译人员所输入的操作。根据编辑操作会在第一样式文本的基础上产生第二样式文本。
所述第二样式文本的显示结果即为运行结果的一种。
将第二样式文本发送给运行侧之后,运行侧的运行设备会按照应用发布之后的使用设备般运行,运行会的到该应用的应用界面的显示结果,该显示结果即为应用的显示结果。
接收到该显示结果在调试界面输出后,若编译人员满意了,对于该应用元素的调试结束,若不满意,则编译人员可以再次调试第二样式文本,再次将调试后的第二样式文本通过调试连接发送给运行侧,由运行侧再次运行等,如此反复,编译人员在不用观看运行设备的情况下,就能够完成对一个应用元素的反复调试直到满意为止,具有调试操作简便及效率高的特点。
在一些实施例中,所述S14可包括:接收所述运行侧根据所述调试请求显示对应应用元素的截屏图像。
在一些情况下,编译侧的编译设备和运行侧的运行设备可能是不同类型的设备,或者,具有不同显示屏的设备。例如,编译侧是PC设备,而运行侧是手机等移动设备。这些设备具有不同的显示屏,例如,显示屏的长宽比不同,或者,不同的显示屏分辨率。若直接将运行设备的运行后的运行数据返回到编译侧的编译设备来显示可能会变形。有鉴于此,运行侧会直接对自身运行结果进行截屏,得到截屏图像,返回截屏图像给编译侧,编译侧的编译设备直接显示截屏图像方便编译人员无误查看,确保运行结果的精准性。
如图4所示,本实施例提供一种应用调试方法,应用于运行侧,所述方法,包括:
S21:通过与编译侧之间的调试连接,接收应用元素;
S22:为所述应用元素分配调试标识;
S23:通过所述调试连接将所述调试标识发送给所述编译侧;
S24:通过所述调试连接接收所述编译侧发送的调试请求;
S25:根据所述调试请求呈现所述调试标识所对应的应用元素;
S26:根据所述应用元素向所述编译侧返回所述运行结果。
在本申请实施例中运行侧可包含一个或多个运行设备,该运行设备可为应用发布之后实际运行的设备。
在本申请实施例中,运行侧会通过调试连接接收到应用元素之后,存储这些应用元素并为这些应用元素分配调试标识。
然后将分配的调试标识通过调试连接返回给编译侧的编译设备。
后续运行侧的运行设备会接收到携带有其分配的调试标识的调试请求;根据该调试请求运行调试请求所携带调试标识对应的应用元素,会得到运行结果。将该运行结果作为运行结果的一种返回给编译侧的编译设备进行调试。
如此,编译侧的编译设备和运行侧的运行设备之间,可以通过直接调试连接和调试标识实现调试过程中应用元素的传输和运行结果的显示,实现编译人员在编译侧一台编译设备上完成编译和调试,简化调试流程及提升调试效率。
在一些实施例中,所述S25可包括:根据所述调试请求,检测所述应用元素所对应的样式文本是否包含非法样式;
当所述样式文本包含非法样式后,对所述应用元素所对应合法样式进行渲染及显示;
所述S26可包括:将显示所述合法样式时的截屏图像发送给所述编译侧。
此处的合法样式可为能够显示的样式或者符合应用规范的样式。在运行侧的运行设备后台根据会渲染应用元素中合法样式,并进行显示,将显示结果的截屏图像返回给编译侧,供编译侧的编译设备输出,方便编译人员查看是否需要调试代码。
此处的样式文本可为文本格式的样式文件。
在一些实施例中,所述方法还包括:
在向所述编译侧发送运行结果之前,获取所述调试请求所携带调试标识所对应应用元素的第一样式文本;
将所述第一样式文本发送给所述编译侧;
接收所述编译侧对所述第一样式文本编辑之后得到的第二样式文本及所述第一样式文本的调试标识;
所述S25可包括:根据所述调试请求呈现所述调试标识所对应的第二样式文本。
第二样式文本就是调试后的样式的文本文件。
在一些实施例中,所述方法还包括:
在为所述应用元素分配调试标识之后,建立应用元素的节点树;
在接收到所述调试请求之后,遍历所述节点树确定所述调试请求所携带所述调试标识所对应的应用元素。
应用元素之间具有一定的层次关系和/或调用关系等,根据应用元素之间的这种内在关系,将分配给各应用元素的调试标识,建立节点树。节点树中包括按照树状分布的多个节点,一个节点对应于一个应用元素。
在接收到调试请求之后,遍历节点树确定调试请求所携带调试表示所对应的应用元素。
然后在S25中运行基于节点树遍历确定的应用元素得到运行结果,将该运行结果作为运行结果返回给编译侧的编译设备。
在一些实施例中,所述运行侧运行有与所述编译侧所显示的调试界面对应的调试进程;所述方法还包括:基于所述调试进程,与所述编译侧建立所述调试连接。
运行侧的运行设备可为专用于应用调试的调试设备。该调试设备内安装有调试应用,该调试应用可以与编译设备建立调试连接。该调试应用运行时,运行设备会调试设备分配调试进程等调试资源。
如图5所示,本实施例提供一种应用调试装置,应用于编译侧,包括:
第一发送模块51,用于通过与运行侧之间的调试连接,向所述运行侧发送应用元素;
第一接收模块52,用于通过所述调试连接接收所述运行侧为所述应用元素分配的调试标识;
所述第一发送模块51,还用于根据所述调试标识向所述运行侧发送调试请求;
所述第一接收模块52,还用于接收所述运行侧根据所述调试请求返回的运行结果。
在一些实施例中,第一发送模块51及第一接收模块52可为程序模块;所述程序模块被处理器执行后,能够实现各个模块的功能。
在一些实施例中,所述第一发送模块51及所述第一接收模块52可为软硬结合模块;所述软硬结合模块包括但不限于各种可编程阵列;所述可编程阵列包括但不限于:复杂可编程阵列或现场可编程阵列。
在还有一些实施例中,所述第一发送模块51及所述第一接收模块52可为纯硬件模块;所述纯硬件模块包括但不限于各种专用集成电路。
在一些实施例中,所述第一发送模块51,还用于通过所述调试连接向所述运行侧发送待调试页面的各应用元素。
在一些实施例中,所述第一接收模块52,具体用于通过所述调试连接接收所述待调试页面中的各应用元素的调试标识;
所述第一发送模块51,具体用于基于作用于所述调试页面的调试操作选中的调试标识,通过所述调试连接向所述运行侧发送携带有被调试操作选中的调试标识的所述调试请求。
在一些实施例中,所述第一接收模块52,还用于在接收所述运行结果之前,接收所述运行侧根据所述调试请求所呈现所述应用元素的第一样式文本;
所述装置,还包括:
显示模块,用于在所述调试页面显示所述第一样式文本;
检测模块,用于检测对所述第一样式文本的编辑操作;
所述第一发送模块51,还用于通过所述调试连接,将基于所述编辑操作产生的第二样式文本及所述第一样式文本对应的调试标识发送给所述运行侧;
所述第一接收模块52,还用于接收所述运行侧对所述第二样式文本的显示结果。
在一些实施例中,所述第一接收模块52,还用于接收所述运行侧根据所述调试请求显示对应应用元素的截屏图像。
如图6所示,本实施例提供一种应用调试装置,应用于运行侧,所述装置包括:第二接收模块61、分配模块62、第二发送模块63及呈现模块64:
所述第二接收模块61,用于通过与编译侧之间的调试连接,接收应用元素;
所述分配模块62,用于为所述应用元素分配调试标识;
所述第二发送模块63,用于通过所述调试连接将所述调试标识发送给所述编译侧;
所述第二接收模块61,还用于通过所述调试连接接收所述编译侧发送的调试请求;
所述呈现模块64,用于根据所述调试请求呈现所述调试标识所对应的应用元素;
所述第二发送模块63,用于根据所述应用元素向所述编译侧返回所述运行结果。
在一些实施例中,第二接收模块61、分配模块62、第二接收模块61及呈现模块64可为程序模块;所述程序模块被处理器执行后,能够实现各个模块的功能。
在一些实施例中,第二接收模块61、分配模块62、第二接收模块61及呈现模块64可为软硬结合模块;所述软硬结合模块包括但不限于各种可编程阵列;所述可编程阵列包括但不限于:复杂可编程阵列或现场可编程阵列。
在还有一些实施例中,第二接收模块61、分配模块62、第二接收模块61及呈现模块64可为纯硬件模块;所述纯硬件模块包括但不限于各种专用集成电路。
在一些实施例中,所述呈现模块64,还用于根据所述调试请求,检测所述应用元素所对应的样式文本是否包含非法样式;
所述装置,还包括:渲染显示模块,用于当所述样式文本包含非法样式后,对所述应用元素所对应合法样式进行渲染及显示;
所述第二发送模块63,具体用于将显示所述合法样式时的截屏图像发送给所述编译侧。
在一些实施例中,所述装置还包括:
获取模块,用于在向所述编译侧发送运行结果之前,获取所述调试请求所携带调试标识所对应应用元素的第一样式文本;
所述第二发送模块63,还用于将所述第一样式文本发送给所述编译侧;
所述第二接收模块61,还用于接收所述编译侧对所述第一样式文本编辑之后得到的第二样式文本及所述第一样式文本的调试标识;
所述呈现模块64,还用于根据所述调试请求呈现所述调试标识所对应的第二样式文本。
在一些实施例中,所述装置还包括:
第一建立模块,用于在为所述应用元素分配调试标识之后,建立应用元素的节点树;
遍历模块,用于在接收到所述调试请求之后,遍历所述节点树确定所述调试请求所携带所述调试标识所对应的应用元素。
在一些实施例中,所述运行侧运行有与所述编译侧所显示的调试界面对应的调试进程;
所述装置还包括:
第二建立模块,用于基于所述调试进程,与所述编译侧建立所述调试连接。
以下结合上述任一实施例提供几个具体示例:
示例1:
当前PC端、移动端的开发平台以及操作系统众多,为了提升开发者的开发体验,希望能否建立一个新的统一平台,让开发者编写一套代码,跨多端运行;提升开发者对代码的开发成本,减少维护工作量的同时,提升用户的体验;
例如,建立调试直达服务希望能否完成上面的目标,完成对安卓Android、IOS、Webview(例如,浏览器Browser)等多端的支持,开发者可以通过以编写超文本标记语言(HyperText Markup Language,HTML)类似的语言方式来编写直达服务的应用。此处的直达服务的应用,可提供运行在编译侧编译设备上的调试界面,同时运行在运行侧的运行设备上的代码调试的运行应用。
若不使用本示例提供的直达服务的应用时,应用调试方法的主要流程可包括:
1)开发者在PC环境使用文本编辑器等IDE编写类似HTML页面的方式,去开发代码:组件(类似HTML标签,如:div,a)、CSS、Javascript脚本);这里称为编译侧;
2)开发完成后编译开发者代码,生成rpk文件,称为app(这个app内部可以有多个页面),上传到运行侧的运行服务器;
3)在手机上运行页面,会下载rpk文件,然后运行这个文件里的JS,完成页面UI展示等的逻辑。
开发者在开发一个快应用的过程中,需要查看快应用的运行效果,检查其页面、样式、逻辑等的正确性。一种方式是可以将其按照正常的流程打包、安装查看程序运行效果。但是当遇到效果与预期不符的时候,每次修改都要这样去查看,效率就很低下,因此需要一种能够实时修改,查看运行效果的手段,这个时候就需要快应用的调试功能来帮助开发者开发。
直达服务调试的组成:提供调试前端界面,运行在开发者的PC上,手机硬件上运行快应用后端,通过数据传输协议进行通讯。其中,快应用后端又可以细分为平台与调试内核。调试内核负责与调试前端与平台的桥梁。
此处的调试前端可对应于编译侧的编译设备。所述快应用后端可为运行侧的运行设备。
在本示例中,编译侧和运行侧之间可以建立调试连接,基于调试连接交互信息进行调试。
编译侧调试时,可以直接在调试页面修改样式,直接看到运行侧返回的运行结果,不需要重新编译打包,将整个rpk发送到运行侧重新运行。
示例2:
如图7所示,本示例基于示例1提供一种应用调试方法,可包括:
步骤1:启用编译侧调试界面和运行侧调试进程建立调试连接,调试界面请求当前页面的应用元素的元素信息;
步骤2:运行侧调试进程请求运行侧平台获取元素信息,运行侧平台为每个元素生成唯一id并且返回元素信息给调试进程,调试进程将元素信息转换成文本格式发送给调试界面
步骤3:根据开发者输入,选择一个页面元素;具体如,开发者选中一个页面元素,查看样式;页面元素为前述应用元素的一种;
步骤4:调试界面请求选中节点样式,并且把对应的唯一发送给运行侧调试进程,运行侧调试进程根据id请求运行侧平台获取样式信息,运行侧平台遍历元素节点树,根据id找到对应元素返回样式信息;
步骤5:调试进程把运行侧平台返回的样式转换成文本发送给调试界面,调试界面展现样式文本;
步骤6:检测在调试界面的编辑操作,对样式文本进行更改,实现样式文本的调试;开发者在调试界面直接编辑样式,调试界面将修改后样式文本和id发送给运行侧调试进程,请求修改样式
步骤7:运行侧调试进程检测样式格式,排除非法样式后,调用运行侧平台提供的需改样式接口根据;
步骤8:运行侧平台根据修改后样式重新计算样式,并且调用重新渲染展现
步骤9:编译侧调试进程定时截取运行结果返回给调试界面,调试界面收到运行结果展现给开发者;
步骤10:开发者查看到修改后结果,决定是否继续修改,如需继续修改,可以从步骤3开始修改其他元素或者步骤6开始继续修改应用元素。
示例3:
如图所示,本示例提供一种应用调试方法,可包括:
编译侧前段调试界面与运行侧调试进程之间建立websocket调试连接;
运行侧调试进程获取当前页面元素信息,该当前页面元素信息可包括当前页面的所有页面元素的元素信息;
运行侧运行平台从运行侧调试进程获取元素信息;
运行侧平台将为每个元素生成唯一id,并且返回元素信息给运行侧调试进程;此处的id即为前述的调试标识;
向编译侧前端调试界面返回每一个元素生成的唯一id,发送节点样式文本,如“color:red”,此处描述的样式中的颜色;
根据开发人员或者编译人员的操作,选择一个页面元素,查看样式;该页面元素为前述应用元素的一种;
编译侧前端调试界面请求选中节点样式发送元素唯一id给运行侧调试进程;
运行侧调试进程接收到唯一id之后,调用平台提供接口;
运行侧平台遍历元素节点树,根据id找到对应元素,获取到与元素样式;该元素样式可包括前述第一样式文本;
运行侧平台向运行侧调试进程返回样式,如:“color:red”。
编译侧前端调试界面展示节点样式文件如“color:red”;
检测到编辑操作,编辑样式文件,例如,修改为“color:green”,如此就将样式中的颜色从红色改为了绿色;
编译侧前端调试界面向运行侧调试进程发送元素id和编辑而后的样式文本,具体如:id:1,style Text:“color:green”.
运行侧调试进程检测样式格式,排除非法格式。
调用修改样式接口,传入id和编辑后的样式文件,如id:1,style Text:“color:green”;
运行侧平台,重新结算样式,渲染,将颜色修改为green,即绿色。
截屏保存运行侧展示屏幕的显示内容;
返回运行侧当前屏幕截屏;
编译侧前端调试界面显示当前屏幕截屏。
开发者看到修改后的结果,会决定是否继续修改,若继续修改则会
本申请实施例提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:通过执行所述可执行指令实现前述应用于编译侧或运行侧的任意技术方案提供的应用调试方法,例如,执行如图
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种调试装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。该调试装置800可是调试侧的调试设备所对应的具体结构,也可以是运行侧对应的运行设备所对应的具体结构。
参照图8,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为装置800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由编译侧的编译设备的处理器执行时,使得编译设备能够执行一种调试方法,所述方法包括:通过与运行侧之间的调试连接,向所述运行侧发送应用元素;通过所述调试连接接收所述运行侧为所述应用元素分配的调试标识;根据所述调试标识向所述运行侧发送调试请求;接收所述运行侧根据所述调试请求返回的运行结果。
进一步地,所述通过所述调试连接向所述运行侧发送应用元素,包括:
通过所述调试连接向所述运行侧发送待调试页面的各应用元素。
进一步地,所述通过所述调试连接接收所述运行侧为所述应用元素分配的调试标识,包括:通过所述调试连接接收所述待调试页面中的各应用元素的调试标识;
所述根据所述调试标识向所述运行侧发送调试请求,包括:
基于作用于所述调试页面的调试操作选中的调试标识,通过所述调试连接向所述运行侧发送携带有被调试操作选中的调试标识的所述调试请求。
进一步地,所述方法,还包括:在接收所述运行结果之前,接收所述运行侧根据所述调试请求所呈现所述应用元素的第一样式文本;在所述调试页面显示所述第一样式文本;检测对所述第一样式文本的编辑操作;通过所述调试连接,将基于所述编辑操作产生的第二样式文本及所述第一样式文本对应的调试标识发送给所述运行侧;所述接收所述运行侧根据所述调试请求返回的运行结果,包括:接收所述运行侧对所述第二样式文本的显示结果。
进一步地,所述接收所述运行侧根据所述调试请求返回的运行结果,包括:接收所述运行侧根据所述调试请求显示对应应用元素的截屏图像。
本申请实施例提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由编译侧的编译设备的处理器执行时,使得编译设备能够执行一种调试方法,所述方法包括:
通过与编译侧之间的调试连接,接收应用元素;为所述应用元素分配调试标识;通过所述调试连接将所述调试标识发送给所述编译侧;
通过所述调试连接接收所述编译侧发送的调试请求;根据所述调试请求呈现所述调试标识所对应的应用元素;根据所述应用元素向所述编译侧返回所述运行结果。
可选地,所述根据所述调试请求呈现所述调试标识所对应的应用元素,包括:
根据所述调试请求,检测所述应用元素所对应的样式文本是否包含非法样式;
当所述样式文本包含非法样式后,对所述应用元素所对应合法样式进行渲染及显示;
所述根据所述应用元素向所述编译侧返回所述运行结果,包括:
将显示所述合法样式时的截屏图像发送给所述编译侧。
可选地,所述方法还包括:
在向所述编译侧发送运行结果之前,获取所述调试请求所携带调试标识所对应应用元素的第一样式文本;
将所述第一样式文本发送给所述编译侧;
接收所述编译侧对所述第一样式文本编辑之后得到的第二样式文本及所述第一样式文本的调试标识;
所述根据所述调试请求呈现所述调试标识所对应的应用元素,包括:
根据所述调试请求呈现所述调试标识所对应的第二样式文本。
可选地,所述方法还包括:
在为所述应用元素分配调试标识之后,建立应用元素的节点树;
在接收到所述调试请求之后,遍历所述节点树确定所述调试请求所携带所述调试标识所对应的应用元素。
可选地,所述运行侧运行有与所述编译侧所显示的调试界面对应的调试进程;所述方法还包括:基于所述调试进程,与所述编译侧建立所述调试连接。
领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (22)

1.一种应用调试方法,其特征在于,应用于编译侧,包括:
通过与运行侧之间的调试连接,向所述运行侧发送待调试的应用元素;其中,所述应用元素包括以下至少之一:组件树、样式和逻辑代码;通过所述调试连接接收所述运行侧为所述应用元素分配的调试标识;
根据所述调试标识向所述运行侧发送调试请求;其中,所述调试请求携带多个具有调用关系的应用元素对应的调试标识;所述调试请求用于触发运行侧运行所述应用元素;
接收所述运行侧根据所述调试请求返回的运行结果。
2.根据权利要求1所述的方法,其特征在于,所述向所述运行侧发送待调试的应用元素,包括:
向所述运行侧发送待调试页面的各应用元素。
3.根据权利要求2所述的方法,其特征在于,
所述通过所述调试连接接收所述运行侧为所述应用元素分配的调试标识,包括:通过所述调试连接接收所述待调试页面中的各应用元素的调试标识;
所述根据所述调试标识向所述运行侧发送调试请求,包括:
基于作用于所述调试页面的调试操作选中的调试标识,通过所述调试连接向所述运行侧发送携带有被调试操作选中的调试标识的所述调试请求。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法,还包括:
在接收所述运行结果之前,接收所述运行侧根据所述调试请求所呈现所述应用元素的第一样式文本;
在所述调试页面显示所述第一样式文本;
检测对所述第一样式文本的编辑操作;
通过所述调试连接,将基于所述编辑操作产生的第二样式文本及所述第一样式文本对应的调试标识发送给所述运行侧;
所述接收所述运行侧根据所述调试请求返回的运行结果,包括:接收所述运行侧对所述第二样式文本的显示结果。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述接收所述运行侧根据所述调试请求返回的运行结果,包括:
接收所述运行侧根据所述调试请求显示对应应用元素的截屏图像。
6.一种应用调试方法,其特征在于,应用于运行侧,所述方法,包括:
通过与编译侧之间的调试连接,接收待调试的应用元素;其中,所述应用元素包括以下至少之一:组件树、样式和逻辑代码;
为所述应用元素分配调试标识;
通过所述调试连接将所述调试标识发送给所述编译侧;
通过所述调试连接接收所述编译侧发送的调试请求;其中,所述调试请求携带多个具有调用关系的应用元素对应的调试标识;所述调试请求用于触发运行侧运行所述应用元素;
根据所述调试请求呈现所述调试标识所对应的应用元素;
根据所述应用元素向所述编译侧返回运行结果。
7.根据权利要求6所述的方法,其特征在于,所述根据所述调试请求呈现所述调试标识所对应的应用元素,包括:
根据所述调试请求,检测所述应用元素所对应的样式文本是否包含非法样式;
当所述样式文本包含非法样式后,对所述应用元素所对应合法样式进行渲染及显示;
所述根据所述应用元素向所述编译侧返回所述运行结果,包括:
将显示所述合法样式时的截屏图像发送给所述编译侧。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
在向所述编译侧发送运行结果之前,获取所述调试请求所携带调试标识所对应应用元素的第一样式文本;
将所述第一样式文本发送给所述编译侧;
接收所述编译侧对所述第一样式文本编辑之后得到的第二样式文本及所述第一样式文本的调试标识;
所述根据所述调试请求呈现所述调试标识所对应的应用元素,包括:
根据所述调试请求呈现所述调试标识所对应的第二样式文本。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在为所述应用元素分配调试标识之后,建立应用元素的节点树;
在接收到所述调试请求之后,遍历所述节点树确定所述调试请求所携带所述调试标识所对应的应用元素。
10.根据权利要求6所述的方法,其特征在于,所述运行侧运行有与所述编译侧所显示的调试界面对应的调试进程;
所述方法还包括:
基于所述调试进程,与所述编译侧建立所述调试连接。
11.一种应用调试装置,其特征在于,应用于编译侧,包括:
第一发送模块,用于通过与运行侧之间的调试连接,向所述运行侧发送待调试的应用元素;其中,所述应用元素包括以下至少之一:组件树、样式和逻辑代码;
第一接收模块,用于通过所述调试连接接收所述运行侧为所述应用元素分配的调试标识;
所述第一发送模块,还用于根据所述调试标识向所述运行侧发送调试请求;其中,所述调试请求用于触发运行侧运行所述应用元素;所述调试请求携带多个具有调用关系的应用元素对应的调试标识;
所述第一接收模块,还用于接收所述运行侧根据所述调试请求返回的运行结果。
12.根据权利要求11所述的装置,其特征在于,所述第一发送模块,还用于通过所述调试连接向所述运行侧发送待调试页面的各应用元素。
13.根据权利要求12所述的装置,其特征在于,所述第一接收模块,具体用于通过所述调试连接接收所述待调试页面中的各应用元素的调试标识;
所述第一发送模块,具体用于基于作用于所述调试页面的调试操作选中的调试标识,通过所述调试连接向所述运行侧发送携带有被调试操作选中的调试标识的所述调试请求。
14.根据权利要求11至13任一项所述的装置,其特征在于,所述第一接收模块,还用于在接收所述运行结果之前,接收所述运行侧根据所述调试请求所呈现所述应用元素的第一样式文本;
所述装置,还包括:
显示模块,用于在所述调试页面显示所述第一样式文本;
检测模块,用于检测对所述第一样式文本的编辑操作;
所述第一发送模块,还用于通过所述调试连接,将基于所述编辑操作产生的第二样式文本及所述第一样式文本对应的调试标识发送给所述运行侧;
所述第一接收模块,还用于接收所述运行侧对所述第二样式文本的显示结果。
15.根据权利要求11至13任一项所述的装置,其特征在于,所述第一接收模块,还用于接收所述运行侧根据所述调试请求显示对应应用元素的截屏图像。
16.一种应用调试装置,其特征在于,应用于运行侧,所述装置包括:第二发送模块、分配模块、第二接收模块及呈现模块:
所述第二接收模块,用于通过与编译侧之间的调试连接,接收待调试的应用元素;其中,所述应用元素包括以下至少之一:组件树、样式和逻辑代码;
所述分配模块,用于为所述应用元素分配调试标识;
所述第二发送模块,用于通过所述调试连接将所述调试标识发送给所述编译侧;
所述第二接收模块,还用于通过所述调试连接接收所述编译侧发送的调试请求;其中,所述调试请求携带多个具有调用关系的应用元素对应的调试标识;所述调试请求用于触发运行侧运行所述应用元素;
所述呈现模块,用于根据所述调试请求呈现所述调试标识所对应的应用元素;
所述第二发送模块,用于根据所述应用元素向所述编译侧返回运行结果。
17.根据权利要求16所述的装置,其特征在于,所述呈现模块,还用于根据所述调试请求,检测所述应用元素所对应的样式文本是否包含非法样式;
所述装置,还包括:渲染显示模块,用于当所述样式文本包含非法样式后,对所述应用元素所对应合法样式进行渲染及显示;
所述第二发送模块,具体用于将显示所述合法样式时的截屏图像发送给所述编译侧。
18.根据权利要求16或17所述的装置,其特征在于,所述装置还包括:
获取模块,用于在向所述编译侧发送运行结果之前,获取所述调试请求所携带调试标识所对应应用元素的第一样式文本;
所述第二发送模块,还用于将所述第一样式文本发送给所述编译侧;
所述第二接收模块,还用于接收所述编译侧对所述第一样式文本编辑之后得到的第二样式文本及所述第一样式文本的调试标识;
所述呈现模块,还用于根据所述调试请求呈现所述调试标识所对应的第二样式文本。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
第一建立模块,用于在为所述应用元素分配调试标识之后,建立应用元素的节点树;
遍历模块,用于在接收到所述调试请求之后,遍历所述节点树确定所述调试请求所携带所述调试标识所对应的应用元素。
20.根据权利要求16所述的装置,其特征在于,所述运行侧运行有与所述编译侧所显示的调试界面对应的调试进程;
所述装置还包括:
第二建立模块,用于基于所述调试进程,与所述编译侧建立所述调试连接。
21.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:通过执行所述可执行指令实现权利要求1至5或6至10任一项提供的应用调试方法。
22.一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种权利要求1至5或6至10任一项提供的应用调试方法。
CN202010128642.5A 2020-02-28 2020-02-28 应用调试方法及装置、电子设备及存储介质 Active CN111338961B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010128642.5A CN111338961B (zh) 2020-02-28 2020-02-28 应用调试方法及装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010128642.5A CN111338961B (zh) 2020-02-28 2020-02-28 应用调试方法及装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111338961A CN111338961A (zh) 2020-06-26
CN111338961B true CN111338961B (zh) 2023-10-20

Family

ID=71184093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010128642.5A Active CN111338961B (zh) 2020-02-28 2020-02-28 应用调试方法及装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111338961B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641581B (zh) * 2021-08-11 2023-10-20 上海哔哩哔哩科技有限公司 混合模式移动应用调试方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032917A (zh) * 2017-06-09 2018-12-18 北京金山云网络技术有限公司 页面调试方法和系统、移动终端以及电脑端
CN109783342A (zh) * 2017-11-10 2019-05-21 华为技术有限公司 脚本调试方法、设备及计算机存储介质
CN109828915A (zh) * 2018-12-29 2019-05-31 北京小米移动软件有限公司 一种调试应用程序的方法、装置、设备和存储介质
CN110032426A (zh) * 2019-04-10 2019-07-19 浙江讯盟科技有限公司 一种可在线实时调试的方法、系统及存储介质
CN110225048A (zh) * 2019-06-19 2019-09-10 腾讯科技(成都)有限公司 数据传输方法、装置、第一终端及存储介质
CN110603527A (zh) * 2017-05-04 2019-12-20 微软技术许可有限责任公司 服务器侧生产代码的有条件调试
CN110781080A (zh) * 2019-10-11 2020-02-11 北京小米移动软件有限公司 程序调试方法及装置、存储介质
CN110795353A (zh) * 2019-10-29 2020-02-14 北京小米移动软件有限公司 快应用的调试方法、装置、设备及存储介质
CN110837473A (zh) * 2019-11-07 2020-02-25 腾讯科技(深圳)有限公司 应用程序调试方法、装置、终端及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070157174A1 (en) * 2005-12-30 2007-07-05 Boris Gebhardt Debugger with on the fly script generation

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110603527A (zh) * 2017-05-04 2019-12-20 微软技术许可有限责任公司 服务器侧生产代码的有条件调试
CN109032917A (zh) * 2017-06-09 2018-12-18 北京金山云网络技术有限公司 页面调试方法和系统、移动终端以及电脑端
CN109783342A (zh) * 2017-11-10 2019-05-21 华为技术有限公司 脚本调试方法、设备及计算机存储介质
CN109828915A (zh) * 2018-12-29 2019-05-31 北京小米移动软件有限公司 一种调试应用程序的方法、装置、设备和存储介质
CN110032426A (zh) * 2019-04-10 2019-07-19 浙江讯盟科技有限公司 一种可在线实时调试的方法、系统及存储介质
CN110225048A (zh) * 2019-06-19 2019-09-10 腾讯科技(成都)有限公司 数据传输方法、装置、第一终端及存储介质
CN110781080A (zh) * 2019-10-11 2020-02-11 北京小米移动软件有限公司 程序调试方法及装置、存储介质
CN110795353A (zh) * 2019-10-29 2020-02-14 北京小米移动软件有限公司 快应用的调试方法、装置、设备及存储介质
CN110837473A (zh) * 2019-11-07 2020-02-25 腾讯科技(深圳)有限公司 应用程序调试方法、装置、终端及存储介质

Also Published As

Publication number Publication date
CN111338961A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN107329743B (zh) 应用页面的展示方法、装置及存储介质
CN109032606B (zh) 原生应用程序的编译处理方法、装置及终端
CN111026396B (zh) 页面渲染方法、装置、电子设备及存储介质
CN110874217B (zh) 快应用的界面显示方法、装置及存储介质
CN110990105B (zh) 界面显示方法、装置、电子设备及存储介质
CN111026491B (zh) 界面显示方法、装置、电子设备、服务器及存储介质
CN111026490B (zh) 页面渲染方法、装置、电子设备及存储介质
CN111273899B (zh) 代码处理方法、装置、电子设备及存储介质
EP3416054A1 (en) Method and device for page display, and storage medium
CN107423218B (zh) 应用测试方法、装置及终端
CN111078325B (zh) 应用程序运行方法、装置、电子设备及存储介质
CN110865863B (zh) 快应用的界面显示方法、装置及存储介质
CN110781080A (zh) 程序调试方法及装置、存储介质
CN111427622A (zh) 应用程序中脚本代码的执行方法及装置
CN110795354A (zh) 信息处理方法、装置及存储介质
US11210449B2 (en) Page display method and device and storage medium
CN111338961B (zh) 应用调试方法及装置、电子设备及存储介质
US20220292141A1 (en) Quick Application Startup Method and Related Apparatus
CN110851370B (zh) 程序测试方法及装置、存储介质
CN111008050B (zh) 页面任务执行方法、装置、终端及存储介质
CN110865864B (zh) 快应用的界面显示方法、装置、设备及存储介质
CN113626321B (zh) 桥接测试方法、装置、系统及存储介质
CN111104183B (zh) 应用程序运行方法、装置、电子设备及存储介质
CN110989987B (zh) 一种门户网页的生成方法、装置、客户端、服务器及存储介质
CN111290944B (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