元素调试方法、装置、设备、存储介质及程序产品
文献发布时间:2023-06-19 11:22:42
技术领域
本申请实施例涉及开发者工具技术,尤其涉及一种元素调试方法、装置、设备、存储介质及程序产品,可用于小程序开发领域。
背景技术
文档对象模型(Document Object Model,DOM)元素调试,是通过调试器连接被调试窗口,从而对被调试窗口中的DOM元素进行调试,通常调试器和被调试窗口之间采用websocket或进程间通讯(InterProcess Communication,IPC)的方式进行通讯。
然而,在网页(web)版的开发者工具中,被调试窗口(即模拟器)为iframe元素,而iframe不具有websocket或IPC接口,因此无法与调试器连接,这就导致无法对模拟器中的DOM元素进行调试。
发明内容
本申请提供了一种用于实现对网页中iframe元素中的DOM元素进行调试的元素调试方法、装置、设备、存储介质及程序产品。
根据本申请的一方面,提供了一种元素调试方法,应用于电子设备,所述电子设备包括模拟器和调试器,所述模拟器和所述调试器均为iframe元素,所述方法包括:
通过所述调试器的iframe通讯接口从所述模拟器获取第一调试协议数据;
根据所述第一调试协议数据,在所述调试器中渲染得到元素节点;
响应于所述调试器接收到的操作指令,通过所述调试器的iframe通讯接口向所述模拟器发送调试指令;
通过所述模拟器执行与所述调试指令对应的操作,以对所述元素节点对应的元素进行调试。
根据本申请的另一方面,提供了一种元素调试装置,应用于电子设备,所述电子设备包括模拟器和调试器,所述模拟器和所述调试器均为iframe元素,所述装置包括:
获取模块,用于通过所述调试器的iframe通讯接口从所述模拟器获取第一调试协议数据;
显示模块,用于根据所述第一调试协议数据,在所述调试器中渲染得到元素节点;
发送模块,用于响应于所述调试器接收到的操作指令,通过所述调试器的iframe通讯接口向所述模拟器发送调试指令;
处理模块,用于通过所述模拟器执行与所述调试指令对应的操作,以对所述元素节点对应的元素进行调试。
根据本申请的再一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面所述的方法。
根据本申请的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述第一方面所述的方法。
根据本申请的又一方面,提供了一种计算机程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的方法。
根据本申请的技术方案,实现了对网页中iframe元素中的DOM元素进行调试。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例提供的元素调试方法的流程示意图;
图2是根据本申请实施例提供的模拟器和调试器的示意图一;
图3是根据本申请实施例提供的模拟器和调试器的示意图二;
图4是根据本申请实施例提供的模拟器和调试器的示意图三;
图5是根据本申请实施例提供的模拟器和调试器的示意图四;
图6是根据本申请实施例提供的模拟器和调试器的示意图五;
图7是根据本申请实施例提供的元素调试装置的结构示意图;
图8是用来实现本申请实施例的元素调试方法的电子设备的示意性框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请实施例提供的元素调试方法,可以应用于需要调试网页中的iframe元素的DOM元素的场景。示例的,网页版开发者工具中的模拟器是用于模拟显示开发页面的工具,且网页版开发者工具中的模拟器为网页中的iframe元素,对模拟器中的DOM元素调试时,需要采用调试器连接模拟器,通过调试器可以显示、查看或者编辑模拟器中的元素。
由于相关技术中开源的调试器通常是采用websocket或IPC与模拟器进行通讯,但iframe并不具有websocket或IPC通讯接口,例如,调试器采用websocket与被调试窗口的websocketDebuggerUrl连接,但是iframe没有websocketDebuggerUrl,这就导致iframe元素的模拟器不能直接与调试器通讯来完成调试。
为了实现对网页中iframe元素中的DOM元素进行调试,本申请实施例中提出,在模拟器的网页中通过一个iframe引入开源的调试器,例如chrome devtools调试器,并对调试器的通讯方式进行改造,将开源的调试器原采用的websocket通讯机制修改为采用iframe通讯机制,也就是将调试器的代码中的通讯方法进行修改。示例的,将开源的调试器中,接收数据时原采用的websocket.onmessage改为window.addEventListener,并将发送数据时原采用的websocket.send改为window.parent.postMessage。这样,网页中的模拟器和调试器均为iframe元素,且调试器采用iframe通讯机制与模拟器进行通讯,在此基础上即可实现对iframe元素中的DOM元素的调试。
在对调试器的通讯机制进行改造后,在模拟器中加载与调试器进行通讯的代码,基于这些代码实现调试过程中的信息交互。示例的,模拟器中用于实现与调试器进行通讯的代码可以包括以下几个主要部分:
salve-page.js:主文件,控制调试信息的发送与接收。
dom-store.js:模拟DOM元素节点的调试协议。
css-store.js:模拟DOM元素节点的层叠样式表(Cascading Style Sheets,CSS)的调试协议。
observer.js:监听页面中DOM元素的变化。
utils.dom.js:工具函数文件。
highlight.js:模拟元素节点高亮。
inspector.js:控制元素审查开关。
对于一个网页中的iframe元素形式的模拟器,按照上述方法在网页中引入调试器并进行上述改造后,即可实现模拟器和调试器之间的通讯,并进行相关调试。下面,将通过具体的实施例对本申请提供的元素调试方法进行详细地说明。可以理解的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1是根据本申请实施例提供的元素调试方法的流程示意图。该方法的执行主体为电子设备,电子设备包括模拟器和调试器,模拟器和调试器均为网页中的iframe元素。如图1所示,该方法包括:
S101、通过调试器的iframe通讯接口从模拟器获取第一调试协议数据。
本步骤中调试器的iframe通讯接口是指按照前述方法将开源的调试器原有的websocket通讯机制修改为iframe通讯机制后的iframe接口,通过调试器的iframe通讯接口与模拟器进行通讯,从模拟器中获取第一调试协议数据,第一调试协议数据中包括了模拟器中的元素信息。
S102、根据第一调试协议数据,在调试器中渲染得到元素节点。
在调试器中根据第一调试协议数据中的元素信息渲染得到元素节点,示例的,如图2中所示,在模拟器21中模拟显示智能小程序页面,通过模拟器21将小程序页面中的元素信息作为第一调试协议数据发送给调试器22,在调试器22的元素(Elements)面板221中渲染得到小程序页面的元素节点。
S103、响应于调试器接收到的操作指令,通过调试器的iframe通讯接口向模拟器发送调试指令。
S104、通过模拟器执行与调试指令对应的操作,以对元素节点对应的元素进行调试。
调试器接收到的操作指令可以是对调试器中显示的元素节点的操作,或者是调试器提供的其他功能的触发操作,不同的操作指令对应不同的调试指令,用户可以通过调试器输入操作指令,从而通过调试器的iframe通讯接口向模拟器发送调试指令,进而通过模拟器执行与调试指令对应的操作,实现对元素节点的调试。
本实施例提供的元素调试方法,应用于网页中以iframe元素呈现的模拟器,通过在网页中的另一iframe引入调试器,并且将调试器修改为iframe通讯机制,从而实现调试器和模拟器之间的通讯,通过调试器的iframe通讯接口从模拟器获取元素信息,进而渲染得到元素节点,并进一步基于对调试器的操作指令实现对元素节点对应的元素进行调试。采用iframe通讯机制实现了本地通讯,避免了可能由于服务器造成的通讯延迟。
在上述实施例的基础上结合具体事例对元素调试方法进行说明。
可选的,在模拟器加载完成后,通过模拟器的iframe通讯接口向调试器发送初始化信号;响应于调试器接收到的初始化信号,通过调试器的iframe通讯接口向模拟器发送获取元素节点信息的第一调试指令;通过模拟器的iframe通讯接口向调试器发送与第一调试指令对应的第一调试协议数据,进而在调试器中渲染得到元素节点。
示例的,在模拟器iframe元素加载好之后,通过iframe通讯接口向调试器发送初始化信号,调试器接收到初始化信号后,调用初始化方法进行初始化,在初始化完成后,通过调试器的iframe通讯接口发送第一调试指令给模拟器,例如发送“DOM.getDocument”事件给模拟器,模拟器接收到“DOM.getDocument”事件后调用dom-store.js里的getRoot()方法,向调试器返回对应的第一调试协议数据,之后,在调试器的Elements面板中渲染出元素节点。在初始化完成后即通过Elements面板渲染元素节点,从而使得用户可以基于显示的元素节点进行调试。
以下进一步对调试器的Elements面板渲染出元素节点之后,S103和S104中调试器和模拟器之间的通讯过程进行说明。
可选的,响应于调试器接收到的点击目标元素节点的第一操作指令,通过调试器的iframe通讯接口向模拟器发送获取目标元素节点对应的目标元素的样式信息的第二调试指令;通过模拟器的iframe通讯接口向调试器发送与第二调试指令对应的第二调试协议数据;根据所第二调试协议数据,在调试器中显示目标元素的样式信息。
用户在Elements面板中点击目标元素节点时,通过调试器的iframe通讯接口向模拟器发送第二调试指令以获取目标元素节点对应的目标元素的样式信息,即CSS信息,示例的,通过调试器先后发送“CSS.getMatchedStylesForNodes”、“CSS.getComputedStyleForNode”、“CSS.getInlineStylesForNode”事件给模拟器,模拟器接收到事件后,发送相应的第二调试协议数据给调试器,从而,在调试器的面板中显示样式信息,使得用户可以基于显示出的样式信息对元素进行调试。示例的,如图3中所示,目标元素的样式信息可以在调试器22的Styles面板222和Computed面板223中显示。
可选的,响应于调试器接收到的展开目标元素节点的第二操作指令,通过调试器的iframe通讯接口向模拟器发送获取目标元素节点的子节点的第三调试指令;通过模拟器的iframe通讯接口向调试器发送与第三调试指令对应的第三调试协议数据;根据第三调试协议数据,在调试器中渲染得到目标元素节点的子节点。
用户在Elements面板中展开目标元素节点时,通过调试器的iframe通讯接口向模拟器发送第三调试指令以获取目标元素节点的子节点,示例的,通过调试器发送“DOM.requestChildnodes”事件给模拟器,模拟器接收到事件后,发送相应的第三调试协议数据给调试器,从而,在调试器的Elements面板中渲染出目标元素节点的子节点,使得用户可以对元素节点以及子节点进行调试。示例的,如图4中所示的,虚线部分示意的即为目标元素节点的子节点在目标元素节点的下方显示。
可选的,响应于调试器接收到的将鼠标移动至目标元素节点上的第三操作指令,通过调试器的iframe通讯接口向模拟器发送遮罩目标元素节点对应的目标元素的第四调试指令;根据第四调试指令,在模拟器中的目标元素上生成遮罩层。
相应的,响应于调试器接收到的将鼠标从目标元素节点上移开的第四操作指令,通过调试器的iframe通讯接口向模拟器发送隐藏遮罩层的第五调试指令;根据第五调试指令,在模拟器中隐藏遮罩层。
用户将中鼠标移动到Elements面板中的目标元素节点上时,调试器向模拟器发送第四调试指令以遮罩目标元素节点对应的目标元素,示例的,调试器发送“Overlay.highlightNode”事件给模拟器,模拟器接收到该事件后,调用inspector.js中的highLightDom方法,在目标元素上画一个遮罩层,示例请参见图5。当鼠标从Elements面板中的目标元素节点上移出后,调试器向模拟器发送第五调试指令以隐藏遮罩层,示例的,调试器发送“Overlay.hideHighlight”事件给模拟器,模拟器接收到该事件后,调用inspector.js中的hideHighLight方法隐藏掉遮罩层。通过遮罩层的示意和隐藏便于用户查看元素状态,便于进行调试。
可选的,响应于调试器接收到的触发审查模式的第五操作指令,通过调试器的iframe通讯接口向模拟器发送开启审查模式的第六调试指令;根据第六调试指令,开启模拟器的审查模式,审查模式用于定位元素节点。
示例的,调试器左上角“小箭头”图标为触发审查模式的按钮,用户点击该图标后,调试器向模拟器发送第六调试指令以指示模拟器开启审查模式,示例的,调试器发送“Overlay.setInspectMode”事件给模拟器,模拟器接收到该事件后,开启审查模式。
在审查模式下,响应于模拟器接收到的将鼠标移动至目标元素上的第六操作指令,在模拟器中高亮显示目标元素,并通过模拟器的iframe通讯接口向调试器发送定位目标元素对应的目标元素节点的第七调试指令;根据第七调试指令,在调试器中定位至目标元素节点。
示例的,在审查模式下,用户将鼠标移动至模拟器中的目标元素上时,模拟器高亮显示目标元素,并且向调试器发送第七调试指令以在调试器中定位目标元素对应的目标元素节点,示例的,模拟器向调试器发送“DOM.setChildNodes”和“Overlay.nodeHighlightRequested”事件,从而在调试器的Elements面板可以在元素节点树中开展并定位到目标元素节点,示例请参见图6。采用审查模式,便于用户在Elements面板中定位到目标元素节点,提高了效率。
在审查模式下,响应于模拟器接收到的点击目标元素的第七操作指令,向调试器发送选中目标元素对应的目标元素节点的第八调试指令;根据第八调试指令,在调试器中选中目标元素节点并显示目标元素的样式信息,并关闭模拟器的审查模式。
示例的,在审查模式下,用户点击模拟器中的目标元素时,模拟器向调试器发送第八调试指令以在调试器中选中目标元素对应的目标元素节点,示例的,模拟器向调试器发送“Overlay.inspectNodeRequested”事件,调试器接收到该事件后,在Elements面板中选中目标元素节点,并且展示出目标元素的css信息,同时模拟器关闭审查模式。采用审查模式,便于用户在Elements面板中快速选中目标元素节点,提高了效率。
图7是根据本申请实施例提供的元素调试装置的结构示意图,应用于电子设备,电子设备包括模拟器和调试器,模拟器和调试器均为iframe元素。如图7所示,元素调试装置700包括:
获取模块701,用于通过调试器的iframe通讯接口从模拟器获取第一调试协议数据;
显示模块702,用于根据第一调试协议数据,在调试器中渲染得到元素节点;
发送模块703,用于响应于调试器接收到的操作指令,通过调试器的iframe通讯接口向模拟器发送调试指令;
处理模块704,用于通过模拟器执行与调试指令对应的操作,以对元素节点进行调试。
可选的,获取模块701包括:
第一发送单元,用于在模拟器加载完成后,通过模拟器向调试器发送初始化信号;
初始化单元,用于响应于调试器接收到的初始化信号,通过调试器的iframe通讯接口向模拟器发送获取元素节点信息的第一调试指令;
第二发送单元,用于通过模拟器的iframe通讯接口向调试器发送与第一调试指令对应的第一调试协议数据。
可选的,发送模块703包括:
第三发送单元,用于响应于调试器接收到的点击目标元素节点的第一操作指令,通过调试器的iframe通讯接口向模拟器发送获取目标元素节点对应的目标元素的样式信息的第二调试指令;
处理模块704包括:
第四发送单元,用于通过模拟器的iframe通讯接口向调试器发送与第二调试指令对应的第二调试协议数据;
第一显示单元,用于根据所第二调试协议数据,在调试器中显示目标元素的样式信息。
可选的,发送模块703包括:
第五发送单元,用于响应于调试器接收到的展开目标元素节点的第二操作指令,通过调试器的iframe通讯接口向模拟器发送获取目标元素节点的子节点的第三调试指令;
处理模块704包括:
第六发送单元,用于通过模拟器的iframe通讯接口向调试器发送与第三调试指令对应的第三调试协议数据;
第二显示单元,用于根据第三调试协议数据,在调试器中渲染得到目标元素节点的子节点。
可选的,发送模块703包括:
第七发送单元,用于响应于调试器接收到的将鼠标移动至目标元素节点上的第三操作指令,通过调试器的iframe通讯接口向模拟器发送遮罩目标元素节点对应的目标元素的第四调试指令;
处理模块704包括:
第三显示单元,用于根据第四调试指令,在模拟器中的目标元素上生成遮罩层。
可选的,元素调试装置700还包括:
第八发送单元,用于响应于调试器接收到的将鼠标从目标元素节点上移开的第四操作指令,通过调试器的iframe通讯接口向模拟器发送隐藏遮罩层的第五调试指令;
第四显示单元,用于根据第五调试指令,在模拟器中隐藏遮罩层。
可选的,发送模块703包括:
第九发送单元,用于响应于调试器接收到的触发审查模式的第五操作指令,通过调试器的iframe通讯接口向模拟器发送开启审查模式的第六调试指令;
处理模块704包括:
审查单元,用于根据第六调试指令,开启模拟器的审查模式,审查模式用于定位元素节点。
可选的,元素调试装置700还包括:
第十发送单元,用于在审查模式下,响应于模拟器接收到的将鼠标移动至目标元素上的第六操作指令,在模拟器中高亮显示目标元素,并通过模拟器的iframe通讯接口向调试器发送定位目标元素对应的目标元素节点的第七调试指令;
第五显示单元,用于根据第七调试指令,在调试器中定位至目标元素节点。
可选的,元素调试装置700还包括:
第十一发送单元,用于在审查模式下,响应于模拟器接收到的点击目标元素的第七操作指令,向调试器发送选中目标元素对应的目标元素节点的第八调试指令;
第六显示单元,用于根据第八调试指令,在调试器中选中目标元素节点并显示目标元素的样式信息,并关闭模拟器的审查模式。
根据本申请的实施例,本申请还提供了一种电子设备和存储有计算机指令的非瞬时计算机可读存储介质。
根据本申请的实施例,本申请还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
图8是用来实现本申请实施例的元素调试方法的电子设备的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如元素调试方法。例如,在一些实施例中,元素调试方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的元素调试方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行元素调试方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
- 元素调试方法、装置、设备、存储介质及程序产品
- 调试方法、装置、设备、存储介质以及计算机程序产品