当前位置: 首页 > 专利查询>微软公司专利>正文

作为服务进行远程调试制造技术

技术编号:10576491 阅读:93 留言:0更新日期:2014-10-29 10:33
本发明专利技术公开了针对在云计算环境中运行的软件的调试能力。控制器标识云中的哪些机器正在运行要被调试的软件实例。代理被部署在云中的机器上以促成与开发者的机器的通信。当开发者想要调试该代理的机器上的软件时,代理下载监视器并将监视器安装在该机器上。代理配置该机器以经由该监视器来进行远程调试。安全机制确保仅经认证的开发者可访问监视器和供调试的远程机器。控制器自动确定哪些机器可被调试、更新这些机器上可用于调试的过程列表、以及标识如何将开发者的调试客户端连接到这些机器。该控制器准许仅在有来自经认证开发者的请求时仅对准许该开发者调试的那些过程进行远程调试。

【技术实现步骤摘要】
【国外来华专利技术】作为服务进行远程调试背景调试是发现和锁定软件中的错误或“隐错”的过程。一般来说,开发者调试计算机程序的过程或实例。被称为“调试器”的软件工具通常用于帮助软件开发者调试其软件。远程调试是调试正在与开发者正使用来写入、分析或调试软件的机器不同的机器上运行的软件的过程。“远程调试器”工具被开发者用来进行远程调试。远程调试器通常具有两个部分。监视器软件在该远程机器上运行,并使得开发者的机器能够附连到该远程机器并调试该远程机器上的软件。客户端软件在开发者的机器上运行并连接到监视器,由此向开发者提供接口来调试远程机器上的软件。最近,在云计算环境中执行软件开发已变得普遍。在本上下文中,开发者可能想要调试的软件正在并非由该开发者拥有或控制的服务器上运行。相反,运行该软件的服务器通常位于第三方所拥有和/或管理的远程数据中心中。此外,开发者和第三方通常不知道云环境中的哪些机器的确在运行要被调试的软件。云计算环境中的管理实体评估对该软件的需求及其他因素(诸如负载共享要求和机器可用性),并动态地选择哪些机器(及多少机器)应运行该软件。结果,开发者难以确定云中的哪些服务器正在运行该软件。在许多情况下,云环境中的服务器的所有者或管理员限制开发者对服务器和软件的访问,以使得仅某些过程可被调试。云计算环境中的服务器和其他机器可经由分布式公共和/或私有计算机网络(诸如,因特网或内联网)来访问。为了连接到云计算环境中的各机器,开发者通常需要将公共的因特网用于该连接的至少部分。即使开发者能够标识哪些机器正在运行该软件,云环境中的一些服务器可能难以从公共因特网进行访问。结果,可能难以在开发者的机器和云计算环境中运行要被调试的软件的机器之间实现直接的网络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,调试器客户端与连接器通话,连接器将连接路由到合适的监视器。在一些实施例中,调试器客户端可能无法直接抵达在该机器上运行的软件。然而,连接器在云环境中的公共因特网和本文档来自技高网...
作为服务进行远程调试

【技术保护点】
一种方法,包括:标识在分布式网络中操作的正运行软件应用的实例的一个或多个机器;接收来自调试客户端的对所述软件应用的所选实例进行调试的请求;指令代理配置与所述软件应用的所选实例相关联的机器以供远程调试;在所述调试客户端和在与所述软件应用的所选实例相关联的所述机器上的监视应用之间建立连接;以及使用所述调试客户端来调试所述软件应用的所选实例。

【技术特征摘要】
【国外来华专利技术】2012.02.17 US 13/398,8511.一种用于调试软件应用的远程实例的方法,所述方法包括:在包括经由网络耦合至第一虚拟机VM的开发者机器的环境中,其中所述第一虚拟机VM耦合至第二虚拟机VM,其中所述第一虚拟机VM被配置成执行软件应用的第一实例,而所述第二虚拟机VM被配置成执行软件应用的第二实例:由在所述开发者机器上运行的远程调试客户端发送在所述第一虚拟机VM上运行的调试控制器在多个分布式虚拟机VM中标识被配置成执行软件应用的第二实例的所述第二虚拟机VM的指令;由所述远程调试客户端发送在所述第一虚拟机VM上运行的调试控制器将在所述第二虚拟机VM上运行的调试连接器配置成供远程调试的指令;标识由于所述第二虚拟机VM的所有者具有受限制的调试能力而不被允许在所述第二虚拟机VM中调试的一个或多个过程;以及通过在所述第一虚拟机VM上运行的调试控制器在所述远程调试客户端和在所述第二虚拟机VM上运行的调试连接器之间建立连接,同时防止操作所述远程调试客户端的开发者看到所标识出的一个或多个过程。2.如权利要求1所述的方法,其特征在于,所述开发者机器包括所述网络中的服务器或虚拟机。3.如权利要求1所述的方法,其特征在于,进一步包括:从用户处接收指示应当选择和调试在所有机器上运行的软件应用的所有实例的单个输入。4.如权利要求1所述的方法,其特征在于,所述调试控制器...

【专利技术属性】
技术研发人员:S·H·吴L·比罗夫A·克赖德J·杨
申请(专利权)人:微软公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1