CN104126176B - 作为服务进行远程调试 - Google Patents
作为服务进行远程调试 Download PDFInfo
- Publication number
- CN104126176B CN104126176B CN201380009889.3A CN201380009889A CN104126176B CN 104126176 B CN104126176 B CN 104126176B CN 201380009889 A CN201380009889 A CN 201380009889A CN 104126176 B CN104126176 B CN 104126176B
- Authority
- CN
- China
- Prior art keywords
- debugging
- machine
- virtual machine
- developer
- remote
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了针对在云计算环境中运行的软件的调试能力。控制器标识云中的哪些机器正在运行要被调试的软件实例。代理被部署在云中的机器上以促成与开发者的机器的通信。当开发者想要调试该代理的机器上的软件时,代理下载监视器并将监视器安装在该机器上。代理配置该机器以经由该监视器来进行远程调试。安全机制确保仅经认证的开发者可访问监视器和供调试的远程机器。控制器自动确定哪些机器可被调试、更新这些机器上可用于调试的过程列表、以及标识如何将开发者的调试客户端连接到这些机器。该控制器准许仅在有来自经认证开发者的请求时仅对准许该开发者调试的那些过程进行远程调试。
Description
背景
调试是发现和锁定软件中的错误或“隐错”的过程。一般来说,开发者调试计算机程序的过程或实例。被称为“调试器”的软件工具通常用于帮助软件开发者调试其软件。远程调试是调试正在与开发者正使用来写入、分析或调试软件的机器不同的机器上运行的软件的过程。“远程调试器”工具被开发者用来进行远程调试。远程调试器通常具有两个部分。监视器软件在该远程机器上运行,并使得开发者的机器能够附连到该远程机器并调试该远程机器上的软件。客户端软件在开发者的机器上运行并连接到监视器,由此向开发者提供接口来调试远程机器上的软件。
最近,在云计算环境中执行软件开发已变得普遍。在本上下文中,开发者可能想要调试的软件正在并非由该开发者拥有或控制的服务器上运行。相反,运行该软件的服务器通常位于第三方所拥有和/或管理的远程数据中心中。此外,开发者和第三方通常不知道云环境中的哪些机器的确在运行要被调试的软件。云计算环境中的管理实体评估对该软件的需求及其他因素(诸如负载共享要求和机器可用性),并动态地选择哪些机器(及多少机器)应运行该软件。结果,开发者难以确定云中的哪些服务器正在运行该软件。在许多情况下,云环境中的服务器的所有者或管理员限制开发者对服务器和软件的访问,以使得仅某些过程可被调试。
云计算环境中的服务器和其他机器可经由分布式公共和/或私有计算机网络(诸如,因特网或内联网)来访问。为了连接到云计算环境中的各机器,开发者通常需要将公共的因特网用于该连接的至少部分。即使开发者能够标识哪些机器正在运行该软件,云环境中的一些服务器可能难以从公共因特网进行访问。结果,可能难以在开发者的机器和云计算环境中运行要被调试的软件的机器之间实现直接的网络TCP/IP连接。
软件中的错误、隐错和其他缺陷可能直到该软件已运行了较长时间段后才被注意到。因此,运行该软件的机器不需要在所有时间都是可调试的,但仅需被配置为在开发者想要或需要调试该软件时进行调试。
概述
提供本概要从而以简要形式引入将在下面具体实施例中进一步描述的概念的选择。本概要不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来限制所要求保护的主题的范围。
各实施例提供针对在云计算环境中运行的软件的调试能力。控制器标识云中的哪些机器正在运行要被调试的软件实例。代理被部署在云中的各机器上。代理促成与开发者的机器的通信。当开发者想要调试代理的机器上的软件时,该代理下载监视器并将该监视器安装在该机器上。该代理配置该机器以供经由监视器来进行远程调试。安全机制确保仅经认证的开发者可访问监视器以及远程机器来进行调试。
在一个实施例中,云中的软件应用自动确定哪些机器可被调试、更新这些机器上可被调试的过程列表(诸如,过程标识符列表)、并标识如何将开发者的调试客户端连接到这些机器。
在另一实施例中,在云中运行的软件应用准许仅在有来自经认证的开发者的请求时才进行远程调试。应用在开发者完成了调试后移除对该远程过程的访问。该应用仅列出了准许开发者调试的那些过程。所有其他过程都被过滤掉,以使得开发者不会看见他没有许可的过程。
在其他实施例中,软件应用使得远程调试器能够被下载,并被配置在运行云的远程机器上。
附图
为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释,附图中:
图1是根据一个实施例的用于在云环境中进行远程调试的***的框图;
图2是示出用于对云环境中的远程机器上的软件进行调试的过程或方法的流程图;
图3是根据一个实施例的用于在云环境中进行远程调试的***的框图;以及
图4示出合适的计算和联网环境400(诸如,在一个实施例中为开发者机器和/或基于云的远程服务器)的示例。
详细描述
图1是根据一个实施例的用于在云环境中对软件进行远程调试的***的框图。调试器客户端101被开发者用来调试软件应用。调试器客户端101可以是独立的应用,或者可以是集成开发环境(IDE)中允许开发者设计并调试软件应用的组件。控制器102是标识并监视云环境的配置细节的软件应用。控制器102具有询问云环境以得到关于哪些机器正在运行要被开发者调试的软件的实例103的细节的能力。任何数目的软件实例103可同时运行。多个软件实例103可在相同的机器上运行和/或可散布在多个不同的机器上。
控制器102向调试器客户端101提供机器身份、过程身份和任何其他必要信息,以使得开发者可对在各远程机器上运行的软件实例103进行调试。控制器102可在持续的基础上为有兴趣调试的软件实例103更新云环境细节(诸如机器身份和过程身份),使得调试器客户端101和开发者总是具有最正确的信息用于调试。在一个实施例中,控制器102仅返回针对在机器上运行的调试器客户端101具有访问许可的过程的信息。如果机器的所有者尚未将用户许可给予开发者或调试器客户端,则控制器102不标识那些软件实例以防止尝试调试开发者不具有许可的过程。
为每一软件实例103或为运行一个或多个软件实例103的每一机器部署代理104。代理104经由控制器102与调试器客户端101通信。代理104侦听指示开发者想要调试机器上的软件实例103的命令。在一个实施例中,控制器102可命令代理104配置或设置供调试的机器。代理104可以是具有下载并安装监视器105的能力的软件应用。代理104随后诸如通过打开防火墙端口、设置合适的许可等来配置该机器,以使得监视器105能够在该机器上运行。
连接器106是在云环境中运行的软件应用。连接器106充当从公共因特网上的调试器客户端101到在不可公共地访问的机器上运行的监视器105的连接的桥(bridge)。连接器106可以是例如认证这些连接并将来自调试器客户端101的请求路由到合适的监视器105的路由器。
代理104软件可连同要被调试的软件代码一起部署,或者代理104可以在较后的时间部署。
图2是示出用于调试云环境中的远程机器上的软件的过程或方法的流程图。在步骤201,开发者打开调试器客户端并选择要被调试的软件代码。在步骤202,调试器客户端与控制器通信以标识出要被调试的软件的正在云环境中运行的实例。在步骤203,控制器通过例如向远程机器上的代理应用请求软件状态信息来标识与要被调试的软件实例相关联的机器和过程。代理应用将软件状态信息提供给控制器,该控制器随后发送机器和过程列表以供在步骤204向开发者显示。在步骤205使用调试器客户端,开发者选择要被调试的一个或多个软件实例。软件实例可被标识成例如在这些机器之一上运行的特定过程。
在步骤206,调试器客户端向控制器标识要被调试的软件实例。在步骤207,控制器随后指令与该软件实例相关联的机器上的代理配置该机器以进行远程调试。在步骤208,在监视器尚不可用的情况下,代理下载监视器软件,并将该监视器软件安装在该机器上。在步骤209,代理通过例如添加合适的许可和用户账户、打开防火墙端口和启动监视器软件来配置该机器。
在步骤210,调试器客户端与连接器通话,连接器将连接路由到合适的监视器。在一些实施例中,调试器客户端可能无法直接抵达在该机器上运行的软件。然而,连接器在云环境中的公共因特网和私有网络连接之间提供接口并管理这些接口。在步骤211,连接器认证调试器客户端并随后将客户端和机器连接起来。在步骤212,开发者可随后开始调试所选的远程软件实例。
可以理解,在图2中所示的过程的步骤201-212可以同时和/或按序执行。还可以理解,每个步骤可以按任何顺序执行,且在其他实施例中可以被执行一次或被重复执行。
图3是根据另一实施例的用于在云环境中进行远程调试的***的框图。软件开发者使用正运行调试器客户端302(诸如,IDE应用)的开发者机器301。开发者可能想要调试远程机器或服务器上的软件。如图3所示,这些远程机器可能是仅可经由公共或私有网络305(诸如,因特网或内联网)来访问的云环境中的虚拟机303、304。
要被调试的软件的多个实例306、307可被部署在虚拟机303、304上。云调试控制器308用于标识软件的实例306、307。在一个实施例中,云调试控制器308的单个实例被部署到虚拟机303、304之一。此外,调试连接器309、310被部署到每一虚拟机303、304。与云调试控制器308一起工作,调试连接器309、310充当用于配置要被调试的机器303、304的代理。云调试控制器308和调试连接器309、310可以与软件实例306、307一起部署,或者在调试是在开发者机器301上发起的时在较后的时间再加载。
云调试控制器308使用来自云环境运行时和框架的信息来发现云环境的拓扑。云调试器控制器308发现调试连接器309、310,并建立到它们的连接。云调试控制器308充当网关,并为开发者机器301提供在云环境中的可见连接。云调试代理311在开发者机器301的调试传输312和云调试控制器308之间提供桥。在一个实施例中,调试传输312为调试客户端302创建云拓扑的合成视图。在云计算环境中,由于工作负载被动态平衡,因此各软件实例的机器名、IP地址、端口数和过程名可改变。调试传输312将这些软件实例作为供调试的单个应用呈现给调试客户端302。通过这种方式,调试客户端302和开发者不必持续跟踪每一软件实例的信息。
云调试控制器308和调试连接器309、310标识要被调试的软件的实例。可对软件实例列表进行过滤,以仅包括可被开发者机器301调试的那些过程。例如,如果开发者不具有访问虚拟机或过程的许可,或者如果机器的所有者以其他方式限制了调试能力,则不向调试客户端302列出那些机器上的软件实例。
监视器软件313、314被加载到用于调试软件306、307的虚拟机303、304上。监视器软件313、314可以与软件实例或调试连接器309一起部署,或者可以在稍后由云调试控制器308来部署。
为了调试软件,调试客户端302向云调试控制器308发送发现网络拓扑的请求。云调试控制器308与连接器309、310通信并请求关于要被调试的软件的实例的信息。云调试控制器308将该信息传递至调试客户端302,调试客户端302显示已发现了多少机器、过程和/或软件实例。开发者可随后选择要调试的机器、过程和/或实例中的一个或全部。在一个实施例中,提供允许用户选择对软件应用的在不同机器上运行的所有实例同时进行远程调试的界面或可视化。用户可以用一个动作(诸如,一次点击或选择)来选择此跨所有机器的同时调试。随后该***自动为所选的软件实例在调试客户端302和监视器313、314之间建立连接。开发者可随后经由监视器313、314来访问所选的软件实例。
图4示出了计算和联网环境400(诸如开发者机器和/或基于云的远程服务器)的示例,在一个实施例中,该计算和联网环境400使用本文中所描述的控制器、连接器、代理和监视器来支持调试器客户端和/或被调试的远程软件实例并促成开发者机器和远程服务器之间的连接。计算***环境400只是合适计算环境的一个示例,而非意在暗示对本发明使用范围或功能有任何限制。本发明可用各种其他通用或专用计算***环境或配置来操作。适用于本发明的公知计算***、环境、和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持式或膝上型设备、平板设备、多处理器***、基于微处理器的***、机顶盒、可编程消费电子产品、网络PC、微型计算机、大型计算机、包括任何以上***或设备的分布式计算环境等等。
调试客户端、控制器、连接器、代理、监视器和被调试的软件实例可以在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。本发明也可在其中由通过通信网络链接的远程处理设备执行任务的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和/或远程计算机存储介质中。
参考图4,用于实现本发明的各个方面的示例性***可以包括计算机400形式的通用计算设备。组件可包括但不限于各种硬件组件(诸如处理单元401)、数据存储402(诸如***存储器)、以及将包括数据存储402在内的各种***组件耦合到处理单元401的***总线403。***总线403可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、***总线、以及局域总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和***部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机400通常包括各种计算机可读介质404。计算机可读介质404可以是能由计算机400访问的任何可用介质,并同时包含易失性和非易失性介质以及可移动、不可移动介质,但不包括传播信号。作为示例而非限制,计算机可读介质404可包括计算机存储介质和通信介质。计算机存储介质包括以存储诸如计算机可读的指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不仅限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可以被计算机400访问的任何其他介质。通信介质通常以诸如载波或其他传输机制之类的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传送介质。术语已调制数据信号摂是指使得以在信号中编码信息的方式来设置或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上面各项中的任何项的组合也包括在计算机可读介质的范围内。计算机可读介质可被实现为计算机程序产品,诸如存储在计算机存储介质上的软件。
数据存储或***存储器402包括诸如只读存储器(ROM)和/或随机存取存储器(RAM)之类的易失性和/或非易失性存储器形式的计算机存储介质。基本输入/输出***(BIOS)包含有助于诸如启动时在计算机400中元件之间传递信息的基本例程,它通常被存储在ROM中。RAM通常包含处理单元401可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制性,数据存储402保存操作***、应用程序、其他程序模块、和程序数据。
数据存储402还可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,数据存储402可以是对不可移动、非易失性磁介质进行读写的硬盘驱动器,对可移动、非易失性磁盘进行读写的磁盘驱动器,以及对诸如CD ROM或其它光学介质等可移动、非易失性光盘进行读写的光盘驱动器。可在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。上文所描述的并且在图4中所显示的驱动器以及它们的关联的计算机存储介质,为计算机400提供对计算机可读取的指令、数据结构、程序模块及其他数据的存储。
用户可通过用户接口405或诸如平板、电子数字化仪、话筒、键盘和/或定点设备(通常指的是鼠标、跟踪球或触摸垫)等其它输入设备输入命令和信息。其他输入设备可以包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。另外,语音输入、使用手或手指的手势输入、或其它自然用户接口(NUI)也可与适当的输入设备(诸如话筒、相机、平板、触摸垫、手套、或其它传感器)一起使用。这些及其他输入设备常常通过耦合到***总线403的用户输入接口405连接到处理单元401,但是,也可以通过其他接口和总线结构,如并行端口、游戏端口或通用串行总线(USB),来进行连接。监视器406或其他类型的显示设备也通过诸如视频接口之类的接口连接至***总线403。监视器406也可以与触摸屏面板等集成。注意到监视器和/或触摸屏面板可以在物理上耦合至其中包括计算设备400的外壳,诸如在平板型个人计算机中。此外,诸如计算设备400等计算机还可以包括其他***输出设备,诸如扬声器和打印机,它们可以通过输出***接口等连接。
计算机400可使用至一个或多个远程设备(诸如远程计算机)的逻辑连接407在网络化或云计算环境中操作。远程计算机可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,并且一般包括上面相对于计算机400所述的许多或全部元件。图4中所描述的逻辑连接包括一个或多个局域网(LAN)和一个或多个广域网(WAN),但是,也可以包括其他网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
当在联网或云计算环境中使用时,计算机400可通过网络接口或适配器407连接至公共或私有网络。在一些实施例中,使用调制解调器或用于在网络上建立通信的其它装置。调制解调器可以是内置或外置的,它经由网络接口407或其它适当的机制连接至***总线403。诸如包括接口和天线的无线联网组件可通过诸如接入点或对等计算机之类的合适的设备耦合到网络。在联网环境中,相关于计算机400所示的程序模块或其部分可被存储在远程存储器存储设备中。可以理解,所示的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其他手段。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
Claims (7)
1.一种用于调试软件应用的远程实例的方法,所述方法包括:
在包括经由网络耦合至第一虚拟机VM的开发者机器的环境中,其中所述第一虚拟机VM耦合至第二虚拟机VM,其中所述第一虚拟机VM被配置成执行软件应用的第一实例,而所述第二虚拟机VM被配置成执行软件应用的第二实例:
由在所述开发者机器上运行的远程调试客户端发送在所述第一虚拟机VM上运行的调试控制器在多个分布式虚拟机VM中标识被配置成执行软件应用的第二实例的所述第二虚拟机VM的指令;
由所述远程调试客户端发送在所述第一虚拟机VM上运行的调试控制器将在所述第二虚拟机VM上运行的调试连接器配置成供远程调试的指令;
标识由于所述第二虚拟机VM的所有者具有受限制的调试能力而不被允许在所述第二虚拟机VM中调试的一个或多个过程;以及
通过在所述第一虚拟机VM上运行的调试控制器在所述远程调试客户端和在所述第二虚拟机VM上运行的调试连接器之间建立连接,同时防止操作所述远程调试客户端的开发者看到所标识出的一个或多个过程。
2.如权利要求1所述的方法,其特征在于,所述开发者机器包括所述网络中的服务器或虚拟机。
3.如权利要求1所述的方法,其特征在于,进一步包括:
从用户处接收指示应当选择和调试在所有机器上运行的软件应用的所有实例的单个输入。
4.如权利要求1所述的方法,其特征在于,所述调试控制器通过下载监视应用并将所述监视应用安装在机器上来配置所述机器以供调试。
5.如权利要求1所述的方法,其特征在于,所述调试连接器提供并管理公共网络上的开发者机器和在私有网络上运行所述软件应用的机器之间的接口。
6.如权利要求1所述的方法,其特征在于,所述调试连接器在连接所述远程调试客户端和所述第二虚拟机VM之前认证所述远程调试客户端。
7.一种用于调试软件应用的远程实例的***,所述***包括:
在包括经由网络耦合至第一虚拟机VM的开发者机器的环境中,其中所述第一虚拟机VM耦合至第二虚拟机VM,其中所述第一虚拟机VM被配置成执行软件应用的第一实例,而所述第二虚拟机VM被配置成执行软件应用的第二实例:
用于由在所述开发者机器上运行的远程调试客户端发送在所述第一虚拟机VM上运行的调试控制器在多个分布式虚拟机VM中标识被配置成执行软件应用的第二实例的所述第二虚拟机VM的指令的装置;
用于由所述远程调试客户端发送在所述第一虚拟机VM上运行的调试控制器将在所述第二虚拟机VM上运行的调试连接器配置成供远程调试的指令的装置;
用于标识由于所述第二虚拟机VM的所有者具有受限制的调试能力而不被允许在所述第二虚拟机VM中调试的一个或多个过程的装置;以及
用于通过在所述第一虚拟机VM上运行的调试控制器在所述远程调试客户端和在所述第二虚拟机VM上运行的调试连接器之间建立连接,同时防止操作所述远程调试客户端的开发者看到所标识出的一个或多个过程的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/398,851 US9251039B2 (en) | 2012-02-17 | 2012-02-17 | Remote debugging as a service |
US13/398,851 | 2012-02-17 | ||
PCT/US2013/025483 WO2013122844A1 (en) | 2012-02-17 | 2013-02-11 | Remote debugging as a service |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104126176A CN104126176A (zh) | 2014-10-29 |
CN104126176B true CN104126176B (zh) | 2017-08-11 |
Family
ID=48983357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380009889.3A Active CN104126176B (zh) | 2012-02-17 | 2013-02-11 | 作为服务进行远程调试 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9251039B2 (zh) |
EP (1) | EP2815320B1 (zh) |
CN (1) | CN104126176B (zh) |
BR (1) | BR112014018531B1 (zh) |
WO (1) | WO2013122844A1 (zh) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9720809B2 (en) | 2012-02-17 | 2017-08-01 | Microsoft Technology Licensing, Llc | Dynamically enabling debugging over the internet |
CN104335220B (zh) | 2012-03-30 | 2018-04-20 | 爱迪德技术有限公司 | 用于防止和检测安全威胁的方法和*** |
US8819640B2 (en) * | 2012-07-24 | 2014-08-26 | International Business Machines Corporation | Establishing cloud debug breakpoints assigned to users |
US20140025572A1 (en) * | 2013-01-25 | 2014-01-23 | Concurix Corporation | Tracing as a Service |
US9207969B2 (en) | 2013-01-25 | 2015-12-08 | Microsoft Technology Licensing, Llc | Parallel tracing for performance and detail |
US8954546B2 (en) * | 2013-01-25 | 2015-02-10 | Concurix Corporation | Tracing with a workload distributor |
US9021262B2 (en) | 2013-01-25 | 2015-04-28 | Concurix Corporation | Obfuscating trace data |
US20130283281A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deploying Trace Objectives using Cost Analyses |
US8924941B2 (en) | 2013-02-12 | 2014-12-30 | Concurix Corporation | Optimization analysis using similar frequencies |
US8997063B2 (en) | 2013-02-12 | 2015-03-31 | Concurix Corporation | Periodicity optimization in an automated tracing system |
US20130227529A1 (en) | 2013-03-15 | 2013-08-29 | Concurix Corporation | Runtime Memory Settings Derived from Trace Data |
US9575874B2 (en) | 2013-04-20 | 2017-02-21 | Microsoft Technology Licensing, Llc | Error list and bug report analysis for configuring an application tracer |
CN103457765B (zh) * | 2013-08-23 | 2017-03-01 | 中安消技术有限公司 | 一种网络协议调试方法、装置和*** |
US9292415B2 (en) | 2013-09-04 | 2016-03-22 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
WO2015071778A1 (en) | 2013-11-13 | 2015-05-21 | Concurix Corporation | Application execution path tracing with configurable origin definition |
US9519513B2 (en) * | 2013-12-03 | 2016-12-13 | Vmware, Inc. | Methods and apparatus to automatically configure monitoring of a virtual machine |
JP6244942B2 (ja) * | 2014-01-28 | 2017-12-13 | 株式会社リコー | 起動制御装置、通信システム、プログラム、及び起動制御方法 |
US9678731B2 (en) | 2014-02-26 | 2017-06-13 | Vmware, Inc. | Methods and apparatus to generate a customized application blueprint |
CN104967585B (zh) * | 2014-04-15 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 一种远程调试移动终端的方法和装置 |
US20150378763A1 (en) | 2014-06-30 | 2015-12-31 | Vmware, Inc. | Methods and apparatus to manage monitoring agents |
US9740593B2 (en) * | 2015-01-08 | 2017-08-22 | International Business Machines Corporation | Comparative program execution through control of two or more debug sessions to automatically determine execution differences |
US10235262B2 (en) | 2015-06-11 | 2019-03-19 | Instana, Inc. | Recognition of operational elements by fingerprint in an application performance management system |
US10353762B2 (en) | 2015-06-11 | 2019-07-16 | Instana, Inc. | Hierarchical fault determination in an application performance management system |
US10671470B2 (en) * | 2015-06-11 | 2020-06-02 | Instana, Inc. | Application performance management system with dynamic discovery and extension |
US9971675B2 (en) | 2016-04-04 | 2018-05-15 | International Business Machines Corporation | Triggering debug processing within a scalable cloud environment |
US10547601B2 (en) * | 2016-06-06 | 2020-01-28 | Salesforce.Com, Inc. | System and method to allow third-party developer to debug code in customer environment |
US9983988B1 (en) * | 2016-06-23 | 2018-05-29 | Amazon Technologies, Inc. | Resuming testing after a destructive event |
CN106254436B (zh) * | 2016-07-28 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种远程调试的方法、相关设备及*** |
CN107480484A (zh) * | 2016-11-02 | 2017-12-15 | 深圳市波普安创技术有限公司 | 信息安全设备的合法应用调试***及其方法 |
US10303580B2 (en) | 2017-01-11 | 2019-05-28 | International Business Machines Corporation | Controlling debug processing |
US20180248759A1 (en) * | 2017-02-27 | 2018-08-30 | Alcatel-Lucent Usa Inc. | Troubleshooting in remote management services |
US10505787B2 (en) | 2017-02-27 | 2019-12-10 | Nokia Of America Corporation | Automatic recovery in remote management services |
US10223241B2 (en) | 2017-03-02 | 2019-03-05 | International Business Machines Corporation | Resuming a remote debugging session using a backup node |
US10908981B2 (en) * | 2017-03-31 | 2021-02-02 | Cae Inc. | Method and system for diagnosis of a simulator |
CN107277107B (zh) * | 2017-05-15 | 2020-11-13 | 深信服科技股份有限公司 | 应用调试方法、装置及*** |
CN107819846B (zh) * | 2017-11-07 | 2022-01-07 | 北京三快在线科技有限公司 | 一种远程连接方法及装置 |
US10783060B2 (en) | 2018-05-02 | 2020-09-22 | Servicenow, Inc. | Post-upgrade debugging in a remote network management platform |
US10740217B1 (en) * | 2018-05-22 | 2020-08-11 | Parallels International Gmbh | Non-native system-level debugging using symbolic information |
US11468134B2 (en) | 2018-09-26 | 2022-10-11 | International Business Machines Corporation | Provisioning a customized software stack for network-based question and answer services |
US10938641B1 (en) * | 2018-11-09 | 2021-03-02 | Amazon Technologies, Inc. | On-demand development environment |
US11113385B2 (en) | 2018-12-21 | 2021-09-07 | Paypal, Inc. | Communicating trace information between security zones |
US11283800B2 (en) | 2019-03-08 | 2022-03-22 | International Business Machines Corporation | Secure interface control secure storage hardware tagging |
US11455398B2 (en) * | 2019-03-08 | 2022-09-27 | International Business Machines Corporation | Testing storage protection hardware in a secure virtual machine environment |
US11176054B2 (en) | 2019-03-08 | 2021-11-16 | International Business Machines Corporation | Host virtual address space for secure interface control storage |
US11182192B2 (en) | 2019-03-08 | 2021-11-23 | International Business Machines Corporation | Controlling access to secure storage of a virtual machine |
US11068310B2 (en) | 2019-03-08 | 2021-07-20 | International Business Machines Corporation | Secure storage query and donation |
US11829277B2 (en) * | 2019-03-21 | 2023-11-28 | Dish Network Technologies India Private Limited | Systems and methods for remote debugging |
CN111176870B (zh) * | 2019-08-01 | 2022-07-08 | 腾讯科技(深圳)有限公司 | 一种原因定位方法、装置、终端及存储介质 |
CN111367561B (zh) * | 2020-03-31 | 2023-09-22 | 中国工商银行股份有限公司 | 软件程序远程开发方法及装置 |
US20240146828A1 (en) * | 2022-11-02 | 2024-05-02 | Gm Cruise Holdings Llc | Reverse forwarded connections |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819093A (en) | 1995-03-03 | 1998-10-06 | Sun Microsystems, Inc. | System and method for a distributed debugger for debugging distributed application programs |
CA2205096C (en) * | 1997-05-09 | 2001-10-09 | Ibm Canada Limited-Ibm Canada Limitee | A system for remote debugging of client/server applications |
DE60009335T2 (de) | 1999-12-02 | 2004-08-12 | Microsoft Corp., Redmond | Verfahren und vorrichtung zur fernüberprüfung von rechnersoftware und ausschaltung von fehlern |
US20030005407A1 (en) * | 2000-06-23 | 2003-01-02 | Hines Kenneth J. | System and method for coordination-centric design of software systems |
US7873872B1 (en) | 2001-07-10 | 2011-01-18 | Versata Development Group, Inc. | System and method for remotely debugging application programs |
EP1408410A1 (en) | 2002-09-30 | 2004-04-14 | Sap Ag | Remote debugging of computer programs |
US7650592B2 (en) * | 2003-03-01 | 2010-01-19 | Bea Systems, Inc. | Systems and methods for multi-view debugging environment |
GB0315191D0 (en) * | 2003-06-28 | 2003-08-06 | Ibm | Methods, apparatus and computer programs for visualization and management of data organisation within a data processing system |
US7216257B2 (en) * | 2004-01-21 | 2007-05-08 | Sap Ag | Remote debugging |
US7512934B2 (en) * | 2004-08-25 | 2009-03-31 | Microsoft Corporation | Parallel debugger |
US7882492B2 (en) * | 2004-09-17 | 2011-02-01 | Oracle America, Inc. | Intelligent computer program debugger, and system and method for implementing the same |
US20060101418A1 (en) * | 2004-10-21 | 2006-05-11 | International Business Machines Corporation | Apparatus and method for automatic generation of event profiles in an integrated development environment |
US7748033B2 (en) * | 2005-02-25 | 2010-06-29 | Microsoft Corporation | Windows remote debugger service |
US7673180B1 (en) | 2005-05-05 | 2010-03-02 | Sun Microsystems, Inc. | Method and apparatus for dispatching a remote debugging agent in a distributed computing environment |
US20070168997A1 (en) * | 2005-12-20 | 2007-07-19 | Duong-Han Tran | Debugging of remote application software on a local computer |
US7849445B2 (en) | 2005-12-20 | 2010-12-07 | Sap Ag | Remote user interface for external connections |
US7802232B2 (en) * | 2006-03-31 | 2010-09-21 | Microsoft Corporation | Software robustness through search for robust runtime implementations |
US8060866B2 (en) * | 2007-10-19 | 2011-11-15 | GE Intelligent Platforms, Inc | Systems and methods for debugging multiple workflow instances |
US20100077385A1 (en) * | 2008-09-23 | 2010-03-25 | Microsoft Corporation | Debugger exception filtering with target-based rules |
US8392885B2 (en) * | 2008-12-19 | 2013-03-05 | Microsoft Corporation | Low privilege debugging pipeline |
US20100192121A1 (en) | 2009-01-23 | 2010-07-29 | Microsoft Corporation | Debugging remote files using a virtual project |
KR101060181B1 (ko) * | 2009-08-03 | 2011-08-29 | 강원대학교산학협력단 | 원격 디버깅을 위한 웹 기반 소프트웨어 디버깅 장치 및 그 방법 |
US8819701B2 (en) * | 2009-12-12 | 2014-08-26 | Microsoft Corporation | Cloud computing monitoring and management system |
US20110225459A1 (en) | 2010-03-09 | 2011-09-15 | Microsoft Corporation | Generating a debuggable dump file for a virtual machine |
US8171346B2 (en) * | 2010-03-10 | 2012-05-01 | Microsoft Corporation | Client session based debugging |
US8972953B2 (en) * | 2010-04-16 | 2015-03-03 | Salesforce.Com, Inc. | Methods and systems for internally debugging code in an on-demand service environment |
US8752017B2 (en) * | 2010-05-17 | 2014-06-10 | Salesforce.Com, Inc. | Method and system for remote debug protocol proxying for production debugging; selective session and user routing for debugging in multi-tenant cloud computing infrastructure |
JP2012079130A (ja) * | 2010-10-01 | 2012-04-19 | Fujitsu Ltd | デバッグ支援プログラム、デバッグ支援装置、及びデバッグ支援方法 |
-
2012
- 2012-02-17 US US13/398,851 patent/US9251039B2/en active Active
-
2013
- 2013-02-11 CN CN201380009889.3A patent/CN104126176B/zh active Active
- 2013-02-11 EP EP13749255.9A patent/EP2815320B1/en active Active
- 2013-02-11 WO PCT/US2013/025483 patent/WO2013122844A1/en active Application Filing
- 2013-02-11 BR BR112014018531-0A patent/BR112014018531B1/pt active IP Right Grant
-
2016
- 2016-01-29 US US15/010,869 patent/US9965312B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2815320A1 (en) | 2014-12-24 |
BR112014018531A8 (pt) | 2017-12-12 |
WO2013122844A1 (en) | 2013-08-22 |
US20160162322A1 (en) | 2016-06-09 |
US9965312B2 (en) | 2018-05-08 |
EP2815320A4 (en) | 2015-09-30 |
BR112014018531B1 (pt) | 2021-12-14 |
EP2815320B1 (en) | 2018-05-16 |
BR112014018531A2 (zh) | 2017-06-20 |
CN104126176A (zh) | 2014-10-29 |
US9251039B2 (en) | 2016-02-02 |
US20130219363A1 (en) | 2013-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104126176B (zh) | 作为服务进行远程调试 | |
US9930051B1 (en) | Remote management of hardware hosts in cloud infrastructure | |
CN103890715B (zh) | 路由器和虚拟受信任运行时bios | |
CN109479062B (zh) | 混合云计算***中的使用跟踪 | |
US8006241B2 (en) | Automatic software installation and cleanup | |
CN111008379A (zh) | 电子设备的固件安全检测方法及相关设备 | |
US20210158373A1 (en) | Automated software license reclamation | |
CN109478149A (zh) | 混合云计算***中的访问服务 | |
CN108369504A (zh) | 被分发到变化拓扑的由模型驱动的更新 | |
US20150356279A1 (en) | Methods and systems for managing license distribution for software | |
US20140173565A1 (en) | Dynamically Enabling Debugging over the Internet | |
CN107533608A (zh) | 可信更新 | |
KR20160006764A (ko) | 개발 환경 시스템, 개발 환경 장치, 개발 환경 제공 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 매체 | |
CN116848528A (zh) | 用于自动配置用于容器应用的最小云服务访问权限的技术 | |
CN107430669A (zh) | 计算***和方法 | |
US20100138898A1 (en) | Method for activating virtual machine, apparatus for simulating computing device and supervising device | |
US9971726B2 (en) | Session-level-restriction for universal serial bus storage devices | |
CN107980133A (zh) | 暂时进程特权解除 | |
CN109948330B (zh) | 应用管理服务的实现方法、装置、设备及存储介质 | |
Prout et al. | MIT SuperCloud portal workspace: Enabling HPC web application deployment | |
CN112764943B (zh) | 信息处理方法、***、电子设备和计算机可读存储介质 | |
CN106528226A (zh) | 操作***的安装方法及装置 | |
US20060080399A1 (en) | Remote configuration management for data processing units | |
US20230350985A1 (en) | Device Disabled Until Claimed | |
KR101115358B1 (ko) | 방송장치 감시장치를 포함하는 스마트워크 컴퓨터 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150803 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150803 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |