CN104126176A - 作为服务进行远程调试 - Google Patents

作为服务进行远程调试 Download PDF

Info

Publication number
CN104126176A
CN104126176A CN201380009889.3A CN201380009889A CN104126176A CN 104126176 A CN104126176 A CN 104126176A CN 201380009889 A CN201380009889 A CN 201380009889A CN 104126176 A CN104126176 A CN 104126176A
Authority
CN
China
Prior art keywords
machine
debugging
software
application
developer
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.)
Granted
Application number
CN201380009889.3A
Other languages
English (en)
Other versions
CN104126176B (zh
Inventor
S·H·吴
L·比罗夫
A·克赖德
J·杨
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN104126176A publication Critical patent/CN104126176A/zh
Application granted granted Critical
Publication of CN104126176B publication Critical patent/CN104126176B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network 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和开发者总是具有最正确的信息用于调试。在一个实施例中,控制器12仅返回针对在机器上运行的调试器客户端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可以是能由计算机401访问的任何可用介质,并同时包含易失性和非易失性介质以及可移动、不可移动介质,但不包括传播信号。作为示例而非限制,计算机可读介质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 (10)

1.一种方法,包括:
标识在分布式网络中操作的正运行软件应用的实例的一个或多个机器;
接收来自调试客户端的对所述软件应用的所选实例进行调试的请求;
指令代理配置与所述软件应用的所选实例相关联的机器以供远程调试;
在所述调试客户端和在与所述软件应用的所选实例相关联的所述机器上的监视应用之间建立连接;以及
使用所述调试客户端来调试所述软件应用的所选实例。
2.如权利要求1所述的方法,其特征在于,调试控制器应用标识正在运行软件应用的实例的一个或多个机器。
3.如权利要求2所述的方法,其特征在于,所述调试控制器应用正在所述分布式网络中操作的机器之一上运行。
4.如权利要求1所述的方法,其特征在于,所述代理通过向机器添加对开发者的许可来配置所述机器以供调试。
5.如权利要求1所述的方法,其特征在于,所述代理通过下载所述监视应用并将所述监视应用安装在机器上来配置所述机器以供调试。
6.如权利要求1所述的方法,其特征在于,所述调试客户端和所述监视应用之间的连接由连接器应用建立。
7.如权利要求6所述的方法,其特征在于,所述连接器提供并管理公共网络上的开发者机器和在私有网络上运行所述软件应用的机器之间的接口。
8.如权利要求6所述的方法,其特征在于,所述连接器在连接所述调试客户端和机器之前认证所述调试客户端。
9.一种计算机系统,包括:
一个或多个处理器;
系统存储器;
其上存储有计算机可执行指令的一种或多种计算机可读存储介质,所述指令在由一个或多个处理器执行时,致使所述处理器执行一种用于调试软件应用的远程实例的方法,所述处理器用于:
标识在分布式网络中操作的正运行所述软件应用的所述实例的一个或多个机器;
接收来自调试客户端的对所述软件应用的所选实例进行调试的请求;
指令代理配置与所述软件应用的所选实例相关联的机器以供远程调试;以及
在所述调试客户端和在与所述软件应用的所选实例相关联的所述机器上的监视应用之间建立连接。
10.如权利要求9所述的计算机系统,其特征在于,所述处理器还用于:使用连接器应用在所述调试客户端和所述监视应用之间建立所述连接。
CN201380009889.3A 2012-02-17 2013-02-11 作为服务进行远程调试 Active CN104126176B (zh)

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 true CN104126176A (zh) 2014-10-29
CN104126176B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254436A (zh) * 2016-07-28 2016-12-21 腾讯科技(深圳)有限公司 一种远程调试的方法、相关设备及系统
CN107277107A (zh) * 2017-05-15 2017-10-20 深信服科技股份有限公司 应用调试方法、装置及系统
CN107480484A (zh) * 2016-11-02 2017-12-15 深圳市波普安创技术有限公司 信息安全设备的合法应用调试系统及其方法

Families Citing this family (47)

* Cited by examiner, † Cited by third party
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
EP2831787B1 (en) 2012-03-30 2020-07-08 Irdeto B.V. Method and system for preventing and detecting security threats
US8819640B2 (en) * 2012-07-24 2014-08-26 International Business Machines Corporation Establishing cloud debug breakpoints assigned to users
US9021262B2 (en) 2013-01-25 2015-04-28 Concurix Corporation Obfuscating trace data
US8954546B2 (en) * 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US9207969B2 (en) 2013-01-25 2015-12-08 Microsoft Technology Licensing, Llc Parallel tracing for performance and detail
US20140025572A1 (en) * 2013-01-25 2014-01-23 Concurix Corporation Tracing as a Service
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US20130219372A1 (en) 2013-03-15 2013-08-22 Concurix Corporation Runtime Settings Derived from Relationships Identified in Tracer 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
EP3069241B1 (en) 2013-11-13 2018-08-15 Microsoft Technology Licensing, LLC 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
US10671470B2 (en) * 2015-06-11 2020-06-02 Instana, Inc. Application performance management system with dynamic discovery and extension
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
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
US10303580B2 (en) 2017-01-11 2019-05-28 International Business Machines Corporation Controlling debug processing
US10505787B2 (en) 2017-02-27 2019-12-10 Nokia Of America Corporation Automatic recovery in remote management services
US20180248759A1 (en) * 2017-02-27 2018-08-30 Alcatel-Lucent Usa Inc. Troubleshooting 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
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
US11068310B2 (en) 2019-03-08 2021-07-20 International Business Machines Corporation Secure storage query and donation
US11455398B2 (en) * 2019-03-08 2022-09-27 International Business Machines Corporation Testing storage protection hardware in a secure virtual machine environment
US11283800B2 (en) 2019-03-08 2022-03-22 International Business Machines Corporation Secure interface control secure storage hardware tagging
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
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

Citations (10)

* Cited by examiner, † Cited by third party
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
US6263456B1 (en) * 1997-05-09 2001-07-17 International Business Machines Corporation System for remote debugging of client/server application
US20050172168A1 (en) * 2004-01-21 2005-08-04 Frank Kilian Remote debugging
CN1825851A (zh) * 2005-02-25 2006-08-30 微软公司 Windows远程调试器服务
US20070143301A1 (en) * 2005-12-20 2007-06-21 Dung-Han Tran Remote user interface for external connections
US20070168997A1 (en) * 2005-12-20 2007-07-19 Duong-Han Tran Debugging of remote application software on a local computer
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
US20110145836A1 (en) * 2009-12-12 2011-06-16 Microsoft Corporation Cloud Computing Monitoring and Management System
CN102195970A (zh) * 2010-03-10 2011-09-21 微软公司 基于客户端会话的调试
US20110258614A1 (en) * 2010-04-16 2011-10-20 Salesforce.Com, Inc. Methods and Systems for Internally Debugging Code In an On-Demand Service Environment

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1234235B1 (en) 1999-12-02 2004-03-24 Microsoft Corporation Method and apparatus for remotely debugging computer software over a serial bus
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
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
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 강원대학교산학협력단 원격 디버깅을 위한 웹 기반 소프트웨어 디버깅 장치 및 그 방법
US20110225459A1 (en) 2010-03-09 2011-09-15 Microsoft Corporation Generating a debuggable dump file for a virtual machine
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 デバッグ支援プログラム、デバッグ支援装置、及びデバッグ支援方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
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
US6263456B1 (en) * 1997-05-09 2001-07-17 International Business Machines Corporation System for remote debugging of client/server application
US20050172168A1 (en) * 2004-01-21 2005-08-04 Frank Kilian Remote debugging
CN1825851A (zh) * 2005-02-25 2006-08-30 微软公司 Windows远程调试器服务
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
US20070143301A1 (en) * 2005-12-20 2007-06-21 Dung-Han Tran Remote user interface for external connections
US20070168997A1 (en) * 2005-12-20 2007-07-19 Duong-Han Tran Debugging of remote application software on a local computer
US20110145836A1 (en) * 2009-12-12 2011-06-16 Microsoft Corporation Cloud Computing Monitoring and Management System
CN102195970A (zh) * 2010-03-10 2011-09-21 微软公司 基于客户端会话的调试
US20110258614A1 (en) * 2010-04-16 2011-10-20 Salesforce.Com, Inc. Methods and Systems for Internally Debugging Code In an On-Demand Service Environment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254436A (zh) * 2016-07-28 2016-12-21 腾讯科技(深圳)有限公司 一种远程调试的方法、相关设备及系统
CN107480484A (zh) * 2016-11-02 2017-12-15 深圳市波普安创技术有限公司 信息安全设备的合法应用调试系统及其方法
CN107277107A (zh) * 2017-05-15 2017-10-20 深信服科技股份有限公司 应用调试方法、装置及系统

Also Published As

Publication number Publication date
BR112014018531B1 (pt) 2021-12-14
EP2815320A4 (en) 2015-09-30
WO2013122844A1 (en) 2013-08-22
US9965312B2 (en) 2018-05-08
US20160162322A1 (en) 2016-06-09
CN104126176B (zh) 2017-08-11
EP2815320B1 (en) 2018-05-16
US9251039B2 (en) 2016-02-02
US20130219363A1 (en) 2013-08-22
EP2815320A1 (en) 2014-12-24
BR112014018531A8 (pt) 2017-12-12
BR112014018531A2 (zh) 2017-06-20

Similar Documents

Publication Publication Date Title
CN104126176A (zh) 作为服务进行远程调试
US20220247624A1 (en) Managing network connected devices
CN111008379B (zh) 电子设备的固件安全检测方法及相关设备
US10637724B2 (en) Managing network connected devices
US9712486B2 (en) Techniques for the deployment and management of network connected devices
EP2973147B1 (en) Policy-based secure web boot
TWI380216B (en) System and method for automated operating system installation
US9720809B2 (en) Dynamically enabling debugging over the internet
US8978029B2 (en) Automated template deployment to computing platforms
US10964134B2 (en) Cloud-based on-demand vehicle diagnostic systems
US20220353327A1 (en) State management for device-driven management workflows
CN108351923B (zh) 与统一可扩展固件接口系统可执行的脚本有关的阈值
WO2018017506A1 (en) Usage tracking in hybrid cloud computing systems
CN105518698A (zh) 用于评估访问外围设备的应用请求的代理器
CN106789535A (zh) Ssl vpn的ip接入方法及装置
FR2931568A1 (fr) Procedes et dispositif de mise en oeuvre de peripheriques multifonction avec un gestionnaire de peripherique standart unique
US20060080399A1 (en) Remote configuration management for data processing units
CN107659621B (zh) 一种raid控制卡配置方法及装置
US10326648B2 (en) Virtual use of electronic design automation tools
CN116018580B (zh) 用于跨云壳层的实例持久化数据的技术
KR20150120607A (ko) 클라우드 컴퓨팅 시스템
US10089261B2 (en) Discriminating dynamic connection of disconnectable peripherals
US11847845B2 (en) Integrating a widget in a third-party application
US20240095108A1 (en) MANAGING APPLICATION PROGRAMMING INTERFACES (APIs) OF A WEB APPLICATION
JP6397094B1 (ja) ネットワーク・ブートの方法、コンピュータおよびコンピュータ・プログラム

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