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

通过插入的代码声明来协助开发工具的方法和系统技术方案

技术编号:10934484 阅读:98 留言:0更新日期:2015-01-21 14:21
本发明专利技术所描述的主题的各方面涉及协助开发工具。在各方面中,影响运行时行为的声明可被插入程序代码中。例如,插入函数中的声明可设置运行时对象的性质以指示向调试器通知在该函数的范围内遇到的异常。当运行时环境遇到异常时,运行时环境可判断该性质是否适用于当前执行的范围。如果是,则运行时环境可基于性质的值向开发工具通知或不向开发工具通知异常。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】本专利技术所描述的主题的各方面涉及协助开发工具。在各方面中,影响运行时行为的声明可被插入程序代码中。例如,插入函数中的声明可设置运行时对象的性质以指示向调试器通知在该函数的范围内遇到的异常。当运行时环境遇到异常时,运行时环境可判断该性质是否适用于当前执行的范围。如果是,则运行时环境可基于性质的值向开发工具通知或不向开发工具通知异常。【专利说明】协助开发工具通过插入的代码声明 背景 当在运行时调试软件时,通常期望区分软件开发者不直接负责的代码。例如,软件 开发者可能不想要调试器当在库代码中遇到异常时被激活。一些非动态语言试图通过使用 在编译时可用的编译时属性来解决这个问题。然而,动态语言不具有这一能力。 在此要求保护的主题不限于解决任何缺点或仅在诸如上述环境中操作的各个实 施例。相反,提供该背景仅用以示出在其中可实践在此描述的部分实施例的一个示例性技 术领域。 概述 简言之,本专利技术所描述的主题的各方面涉及协助开发工具。在各方面中,影响运行 时行为的声明可被插入程序代码中。例如,插入函数中的声明可设置运行时对象的性质以 指示将向调试器通知在该函数的范围内遇到的异常。当运行时环境遇到异常时,运行时环 境可判断该性质是否适用于当前执行的范围。如果是,则运行时环境可基于该性质的值向 开发工具通知或不向开发工具通知该异常。 提供本概述是为了简要地标识在以下详细描述中进一步描述的主题的一些方面。 本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要 求保护的主题的范围。 除非上下文清楚地指出,否则短语"本专利技术所描述的主题"指的是【具体实施方式】中 描述的主题。术语"方面"应被当作"至少一个方面"。标识【具体实施方式】中所描述的主题 的各方面不旨在标识所要求保护的主题的关键特征或必要特征。 上述各方面和本专利技术所描述的主题的其它方面是作为示例说明的,并且不受附图 限制,附图中相似的参考标号指示相似的元素。 【专利附图】【附图说明】 图1-2是表示本专利技术所描述主题的各方面可以在其中操作的示例性环境的框图; 图3是概括地表示根据本专利技术所描述主题的各方面的、可在运行时环境中进行的 示例性动作的流程图; 图4是概括地表示根据本方面所描述的主题的各方面的、可从开发工具的角度进 行的示例性动作的流程图;以及 图5是概括地表示根据本专利技术所描述的主题的各方面的、可在异常发生时进行的 示例性动作的流程图。 【具体实施方式】 定义 如本文所使用的,术语"包括"及其变体被当作开放式术语,表示"包括但不限于"。 除非上下文另外清楚地指示出,否则术语"或"被当作"和/或"。术语"基于"被当作"至少 部分地基于"。术语"一个实施例"和"一实施例"被当作"至少一个实施例"。术语"另一实 施例"被当作"至少一个其他实施例"。 如本文所使用的,诸如"一"和"该"等术语包括了所指示的项或动作中的一个或 多个。具体而言,在权利要求书中,对某一项的引用一般表示存在至少一个这样的项,并且 对一动作的引用表示执行该动作的至少一个示例。 本文中有时可使用术语"第一"、"第二"、"第三"等等。没有其他上下文,权利要求 中对这些术语的使用不意在暗示排序,而是用于标识的目的。例如,短语"第一版本"和"第 二版本"不一定意味着第一版本是真正的第一个版本或是在第二版本之前创建的,或甚至 是第一版本是在第二版本之前被请求或操作的。相反,这些短语用于标识不同的版本。 如本专利技术所使用的计算机存储介质包括以用于存储诸如计算机可读指令、数据结 构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和 不可移动介质。计算机存储介质包括:RAM、ROM、EEPROM、固态存储、闪存或其它存储器技术、 CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或 可以用来储存所期望的信息并可由计算机访问的任何其它介质。计算机存储介质不包括通 信介质。 标题仅是为了方便;关于给定话题的信息可在其标题指示该话题的章节之外被寻 找到。 其他显式或隐式定义可包括在下文中。 示例性实施例 图1-2是表示本专利技术所描述主题的各方面可以在其中操作的示例性环境的框图。 图1-2中示出的组件是示例性的且不旨在包括一切的可能需要或包括的组件。在其他实施 例中,结合图1-2描述的组件和/或功能可被包括在其他组件(示出或未示出)中或者被 放置在子组件中而不背离本专利技术所描述的主题的各方面的精神或范围。在一些实施例中, 结合图1-2描述的组件中的一个或多个可跨可彼此靠近(例如,局域网上)或分散开(例 如,在因特网上的不同地方)的多个设备分布。 本专利技术所描述的主题的各方面可与通用或专用计算系统环境或配置实现。可适用 于本专利技术所述的主题的各方面的计算机包括个人计算机、服务器计算机(无论是裸金属还 是作为虚拟机)、手持或膝上型设备、多处理器系统、基于微控制器的系统、机顶盒、可编程 和不可编程消费电子设备、网络PC、小型计算机、大型计算机、个人数字助理(PDA)、游戏设 备、打印机、包括机顶盒、媒体中心或其它电器的家电设备、嵌入汽车或附连到汽车的计算 设备、其他移动设备、包括蜂窝电话、无线电话和有线电话的电话设备、包括任何上述系统 或设备的分布式计算环境等等。 本专利技术所述的组件中的一个或多个可在虚拟环境中操作。虚拟环境是由计算机来 模仿或模拟的环境。虚拟环境可模仿或模拟物理机器、操作系统、一个或多个接口的组、以 上各项的部分、或以上各项的组合等等。在机器被模仿或被模拟时,该机器有时被称为虚拟 机。对于在虚拟机上执行的软件来说,虚拟机是一种看上去是物理机器的机器。该软件可 将文件保存在诸如虚拟硬盘驱动器、虚拟软盘等之类的虚拟存储设备中,可从虚拟光学设 备读取文件,可经由虚拟网络适配器来进行通信等等。 转向图1,系统105可包括软件开发组件110、存储150,且可包括其它组件(未示 出)。软件开发组件可包括源代码编辑器115、运行时管理器120、调试器125和其它组件 (未示出)。如本专利技术所使用的那样,术语"组件"要被当作包括以下的全部或一部分来理 解:一个或多个设备、一个或多个软件模块或其部分的集合、一个或多个软件模块或其部分 与一个或多个设备或其部分的某种组合等等。 存储150可包括能够存储软件开发所涉及的数据的任何存储介质。术语"数据"要 被宽泛地看作包括可由一个或多个计算机存储元素表示的任何东西。逻辑上,数据可被表 示成易失性或非易失性存储器中的一系列1和〇。在具有非二进制存储介质的计算机中,数 据可根据存储介质的容量来表示。数据可被组织成不同类型的数据结构,包括诸如数字、字 母等之类的简单数据类型,分层、链接或其他相关数据类型、包括多个其他数据结构或简单 数据类型的数据结构等等。数据的某些示例包括信息、程序代码、程序状态、程序数据、其他 数据等等。 存储150可被实现为文件系统、数据库、诸如RAM等易失性存储器、其它存储、以上 的某种组合等,并可以跨多个设备分布。存储150可以是外置的、内置的、或包括对托管软 件开发系统105的各组件的设备而言内本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201380025811.html" title="通过插入的代码声明来协助开发工具的方法和系统原文来自X技术">通过插入的代码声明来协助开发工具的方法和系统</a>

【技术保护点】
一种至少部分地由计算机实现的方法,所述方法包括:在代码在运行时环境中执行期间,执行所述代码的声明,所述声明提供关于当在所述代码正在执行时异常出现的情况下要向调试器发送如果存在的通知的信息;在执行所述代码时遇到异常;评估当遇到异常时存在于所述运行时环境中的程序状态,评估程序状态包括搜索将处理所述异常的异常处理程序;以及基于所述程序状态和所述信息,确定要响应于所述异常向所述调试器发送如果存在的通知。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:T·S·莱斯A·甘地T·H·基姆G·B·米斯凯利M·C·范宁A·R·斯特兰德
申请(专利权)人:微软公司
类型:发明
国别省市:美国;US

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

1