CN113722205B 一种应用调试方法、装置、设备及介质 (华为云计算技术有限公司)_第1页
CN113722205B 一种应用调试方法、装置、设备及介质 (华为云计算技术有限公司)_第2页
CN113722205B 一种应用调试方法、装置、设备及介质 (华为云计算技术有限公司)_第3页
CN113722205B 一种应用调试方法、装置、设备及介质 (华为云计算技术有限公司)_第4页
CN113722205B 一种应用调试方法、装置、设备及介质 (华为云计算技术有限公司)_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

US2007113218A1,2007.05.17US2019213355A1,2019.07.11创建与上述多个子应用模块一一对应的调试会2用于对应用的子应用模块进行代码调试,所述应用调试系统包括路由子系统和交互子系所述交互子系统接收用户输入或选择的多个子应用模块的标识,其中,所述交互子系统创建多个调试会话,所述多个调试会话与所述多个子所述交互子系统根据所述多个调试会话生成多个调试请求消息,所述多息中的每个调试请求消息基于调试适配协议DAP生成,所述每个调试请求消息被所述路由所述交互子系统根据多个子应用模块的标识生成多个原始所述交互子系统在所述多个原始调试请求消息中添加请求调试的子应用模块对应的所述交互子系统在所述多个原始调试请求消息中添加请求调试的子应用模块对应的所述交互子系统在所述多个原始调试请求消息中添加请求调试的子应用模块对应的所述交互子系统接收多个调试响应消息,所述多个调试响应消息与5.根据权利要求1至3任一项所述的方法调试适配器接收多个原始调试请求消息,每个原始调所述调试适配器创建多个调试会话,所述多个调试会话与请求调试的所述调试适配器根据所述多个调试会话对应的调试会话标识和所述多个原始调试请3每个调试请求消息基于调试适配协议DAP生成,所述每个调试请求消息被路由子系统基于所述调试适配器在所述多个原始调试请求消息中添加请求调试的子应用模块对应的所述调试适配器在所述多个原始调试请求消息中添加请求调试的子应用模块对应的所述调试适配器在所述多个原始调试请求消息中添加请求调试的子应用模块对应的所述调试适配器删除所述多个原始调试请求消息的所述调试适配器为所述多个原始调试请求消息添加更新的消息头,所述调试适配器接收多个调试响应消息,所述多个调试响应消息与所述调试适配器删除所述多个调试响应消息的消息头,所述调试所述调试适配器为所述多个调试响应消息添加所述调试适配器建立与路由子系统的长连接,所述路由子系统用于创建单元,用于创建多个调试会话,所述多个调试4生成单元,用于根据所述多个调试会话生成多个调试请求消息息中的每个调试请求消息基于调试适配协议DAP生成,所述每个调试请求消息被所述路由在所述多个原始调试请求消息中添加请求调试的在所述多个原始调试请求消息中添加请求调试的子应用模块对应的调试会话标识以处理单元,用于在向所述路由子系统发送所述多个调试请求消息之前,通信单元,用于接收多个原始调试请求消息,每个原始调试请求消创建单元,用于创建多个调试会话,所述多个调生成单元,用于根据所述多个调试会话对应的调试会话标识所述通信单元,还用于发送所述多个调试请求消息,所述每个调试请求在所述多个原始调试请求消息中添加请求调试的5在所述多个原始调试请求消息中添加请求调试的子应用模块对应的调试会话标识以为所述多个原始调试请求消息添加更新的消删除所述多个调试响应消息的消息头,所述调试响应消息的消息头包括调试会话标处理单元,用于建立与路由子系统的长连接,所述路由子系统用于路所述处理器用于执行所述存储器中存储的指令,以使得所述设备执行6往往会配置相应的环境,例如开发环境(developmentenvironment)、测试环境(testing一个或多个用户通过各自的交互子系统对应用的子应用模块进行代码调试。为了便于描7被调试的子应用模块一一对应。每个调试会话具有唯一的调试会话标识(debugsession[0011]每个子应用模块对应的agent为与应用同时部署在生产环境的代码块。该代码块(如微服务)在运行时产生一个进程,子应用模块的agent在运行时实质上相当于寄宿在该别路由至对应的子应用模块的agent,agent根据调试请求消息启动对子应用模块的调试。统可以在多个原始调试请求消息中添加请求调试的子应用模块对应的调试会话标识以及8系统建立长连接时所获得的调试请求消息(如原始调试请求消息)可以存储在专用的队列,可以插件形式提供给用户,用户可以在交互子系统中的交互模块如集成开发环境独立于IDE和编程语言框架的服务进程。debugadapter这一服务进程作为IDE和路由子系统的中间层,用于监听来自于IDE的调试启动操作,并与路由子系统建立长连接,例如求调试应用的一个子应用模块,每个子应用模块包括的代码块用于实现所述应用的功能,然后调试适配器创建多个调试会话,多个调试会话与请求调试的多个子应用模块一一对多个调试响应消息进行筛选、汇聚,进而生成子应用模块的拓扑图和/或调试请求响应流9[0037]在所述多个原始调试请求消息中添加请求调试的子应用模块对应的调试会话标[0041]在所述多个原始调试请求消息中添加请求调试的子应用模块对应的调试会话标[0056]在所述多个原始调试请求消息中添加请求调试的子应用模块对应的调试会话标[0060]在所述多个原始调试请求消息中添加请求调试的子应用模块对应的调试会话标使得设备执行上述第一方面或第二方面的任一种辑应用组成的应用。[0093]对于功能繁多的复杂应用,开发人员可以采用微服务架构(microservices[0095]开发人员在利用编辑器(editor)或者集成开发环境(integrateddevelopment以通过相同的协议即DAP与不同编程语言的debugger通信,无需为编辑器编写针对不同编[0097]考虑到有些调试器不支持DAP,还可以针对调试器配置调试适配器(debug后交互子系统创建多个调试会话,这多个调试会话与请求调试的多个子应用模块一一对个调试请求消息被路由子系统路由至请求调试的子应用模块的代理(agent),以用于请求被调试的子应用模块一一对应。每个调试会话具有唯一的调试会话标识(debugsession[0101]每个子应用模块对应的agent为与应用同时部署在生产环境的代码块。该代码块(如微服务)在运行时产生一个进程,子应用模块的agent在运行时实质上相当于寄宿在该别路由至对应的子应用模块的agent,agent根据调试请求消息启动对子应用模块的调试。[0104]应用200的子应用模块可以分布式地部署在数据中心300的至少一个节点上。例也可以部署在节点上的虚拟机或容器中。应用200的每个子应用模块部署在独立的容器中[0105]每个子应用模块具有agent(子应用模块为微服务时,也称作微服务代理)。该agent可以通过代码注入的方式被创建。代码注入是一种向目标进程插入独立运行代码并[0106]应用调试系统100包括路由子系统104和至少一个交互子系统102。下面从一个交用模块一一对应,接着交互子系统102根据多个调试会话对应的调试会话标识生成多个调104可以将多个调试请求消息分别路由至请求调试的子应用模块的agent。agent可以根据也称作主机代理(hostagent)。hostagent为与应用200同时部署在生产环境的代码块。hostagent用于转发来自于节点上的子应用模块的消息或者向节点上的子应用模块转发应用模块包括的代码块部署到节点时被部署到节点。当节点上的子应用模块的进程启动[0109]在一些可能的实现方式中,交互子系统102可以包括交互模块和调试适配器通过CUI以命令的形式直接发送调试选择[0111]交互模块可以是提供应用调试功能的集成开发环境(integrateddevelopment[0113]图1所示的应用调试系统100具有多种部署方式,接下来对应用调试系统100的部[0114]在一些实现方式中,应用调试系统100的各个子系统可以分布式地部署于不同环包括处于用于用户直接控制之下的终端计算设备(例如台式机、笔记本电脑等用户终端)。[0117]云服务提供商可以将clouddebugger和cloudIDE整合成一个云服务提供给用户使用,也可以分别提供cloudIDE和clouddebugger两个云服务供用户使用。在一些情况别提供cloudIDE和clouddebugger给用户使[0124]交互子系统102(具体是交互模块)可以通过用户界面向用户呈现应用200的子应用于标识应用200的各个子应用模块之间的调用关系。用户可以通过上述用户界面(例如[0125]在一些可能的实现方式中,用户可以通过上述用户界面(例如CUI)直接输入多个[0128]交互子系统102中的debugadapter可以监听调试启动操作。当debugadapter监[0129]具体地,当用户通过交互子系统102的交互模块选择或输入多个子应用模块的标始调试请求消息是指交互模块基于原生的DAP协议生成的、用于对子应用模块进行调试的中的debugadapter在创建调试会话时,还可以先检测与该原始调试请求消息请求调试的adapter可以从调试请求队列中依次读取原始调试请求消息,以执行创建相应的调试会话会话标识,可以将调试请求消息与调试会话的两端如子应用模块和交互子系统建立联系。[0133]每个调试会话具有唯一性的标识,该标识称为调试会话标识(debugsession[0134]在一些示例中,debugadapter可以将交互子系统的用户标识和子应用模块所属统的用户标识和子应用模块所属资源的资源标识以及预留字段拼接生成debugsession序号作为该debugsessionID,或者debugadapter也可以生成随机数,作为debugsessionID。当debugadapter将序号或者随机数作为debugsessionID时,debugadapter还可以将该debugsessionID与对应的交互子系统的用户标识和子应用模块所属资源的资源标识进行关联。例如,debugadapter可以在debugsession对象中存储debugsessionID以及对应的交互子系统的用户标识和子应用模块所[0137]交互子系统102(具体是交互子系统102中的交互模块)可以根据多个子应用模块标识生成多个原始调试请求消息,然后交互模块可以向debugadapter发送多个原始调试请求消息,交互子系统102(具体是交互子系统102中的debugadapter)可以在多个原始调[0138]交互子系统102(具体是交互子系统102中的debugadapter)可以向路由子系统发[0139]在一些可能的实现方式中,交互子系统102(具体是交互子系统102中的debug别为交互子系统102和被调试的应用200(例如是应用200的多个子应用模块)。全局调试会统102(具体是交互子系统102中的debugadapter)可以在所述多个原始调试请求消息中添[0144]考虑到传输开销,交互子系统102(具体是交互子系统102中的debugadapter)还可以删除原始调试请求消息的标准消息头,并为多个原始调试请求消息添加更新的消息[0145]进一步地,交互子系统102(具体是交互子系统102中的debugadapter)接收到多以为原始调试请求消息添加更新的消息头,该更新的消息头携带resourceID、global应消息中的元数据,具体是删除resourceID、globalsessionI调试会话与请求调试的多个子应用模块一一对应,接着交互子系统102根据多个调试会话对应的调试会话标识生成多个调试请求消息。这多个调试请求消息被路由子系统104路由资源浪费,debugadapter可以在没有任何调试会话时,例如多个调试会话均关闭时,将debugadapter与路由子系统的长连接断开。当debugadapter监听到新的调试启动操作,试请求消息添加至调试请求队列。当debugadapter与路由子系统104的长连接建立成功[0171]在所述多个原始调试请求消息中添加请求调试的子应用模块对应的调试会话标[0175]在所述多个原始调试请求消息中添加请求调试的子应用模块对应的调试会话标[0184]根据本申请实施例的交互子系统102可对应于执行本申请实施例中描述的方法,并且交互子系统102的各个模块/单元的上述和其它操作和/或功能分别为了实现图3所示[0185]本申请还提供了一种调试请求消息的处理装置。该装置具体可以是如图1所示的[0189]生成单元606,用于根据所述多个调试会话对应的调试会话标识和所述多个原始[0192]在所述多个原始调试请求消息中添加请求调试的子应用模块对应的调试会话标[0196]在所述多个原始调试请求消息中添加请求调试的子应用模块对应的调试会话标[0211]根据本申请实施例的调试请求消息的处理装置600可对应于执行本申请实施例中描述的方法,并且调试请求消息的处理装置600的各个模块/单元的上述和其它操作和/或如图5所示的交互子系统102或者如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论