[发明专利]通过动态的语言引擎捕捉遥测数据有效
申请号: | 201210480034.6 | 申请日: | 2012-11-22 |
公开(公告)号: | CN102937934A | 公开(公告)日: | 2013-02-20 |
发明(设计)人: | J·A·汉米尔顿;G·塞思;Y·屈 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 罗婷婷 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 动态 语言 引擎 捕捉 遥测 数据 | ||
技术领域
本发明涉及捕捉遥测数据的技术,尤其涉及捕捉与脚本代码所抛出的多个异常相关联的脚本代码栈的技术。
背景技术
在开发软件时,捕捉与执行该软件时的非预期行为有关的遥测信息是有帮助的。这样的遥测信息的示例包括函数栈信息。这样的遥测信息可被开发者用来移除非预期行为以由此改进软件的质量。
对有关脚本应用(诸如,网站或web应用)的遥测信息的提取是困难的挑战,因为这样的脚本应用在诸如操作系统或浏览器之类的主机环境中操作。开发者在他们的用户脚本中使用扩展和/或间接脚本语言特征以提取并处理这些信息。这并非在所有场景下都很好的工作。此外,不存在允许主机以主机专用的方式来原生地对待该信息的容易方式。
发明内容
在此描述的至少一个实施例涉及选择性地捕捉与脚本代码所抛出的异常相关联的脚本代码栈。对于脚本代码所抛出的至少一个未经处理的异常(脚本代码不处理该异常),脚本引擎:1)以主机可访问的方式来捕捉脚本代码栈,通过该方式主控脚本引擎的主机可以访问所捕捉的脚本代码栈,2)完成脚本栈的展开,3)向主控脚本引擎的主机报告所捕捉的脚本代码栈。对于脚本代码所抛出的至少一个经处理的异常(脚本代码自己来处理该异常),则不以主机可访问的方式来捕捉脚本代码栈。因此,至少在后面的情况下,与捕捉脚本代码栈使得该脚本代码栈被主机访问相关联的开销可被保存。
在此描述的至少一个实施例涉及用户脚本的执行,其中可具有相关联的未填充调用栈属性的错误对象被创建。在脚本代码抛出了与错误对象相关联的异常后,脚本代码栈在抛出时间被捕捉并被用于填充错误对象的调用栈属性。由于调用栈属性是在抛出时间而非错误对象的创建时间被填充的,因此调用栈属性与帮助评估在抛出时间存在的动态绑定更相关。
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图说明
为了描述能够获得上述和其它优点和特征的方式,各实施例的更具体的描述将通过参考各附图来呈现。可以理解,这些附图只描绘了示例实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释各实施例,在附图中:
图1示出了可以用来利用此处所描述的各实施例的示例计算系统;
图2示出可由图1的计算系统实现、并包括主机环境和脚本编写环境的环境;
图3示出了用于以主机可访问的方式选择性地捕捉与脚本代码所抛出的异常相关联的脚本代码栈的方法的流程图;
图4示出了用于在异常抛出时间捕捉脚本代码栈的方法的流程图;以及
图5抽象地示出包括抛出条件属性以及在满足抛出条件时而非创建错误对象时填充的栈属性的错误对象数据结构。
具体实施方式
根据在此描述的各实施例,在此描述的至少一个实施例涉及选择性地捕捉与脚本代码所抛出的异常相关联的脚本代码栈。对于未经处理的异常,脚本引擎1)以主机可访问方式捕捉脚本代码栈,通过该主机可访问方式,主控脚本引擎的主机可访问所捕捉的脚本代码栈,2)完成脚本栈的展开,以及3)向主控脚本引擎的主机报告所捕捉的脚本代码栈。对于脚本代码所抛出的经处理的异常中的至少一个(脚本代码自身处理了该异常),不以主机可访问非方式来捕捉脚本代码栈。同样,在在此描述的一些实施例中,错误对象是通过用户脚本来创建的。错误对象的调用栈属性是在抛出时间而非创建时间被填充的。首先,将参考图1来描述关于计算系统的某些介绍性讨论。然后,将参考图2至5来描述捕捉脚本代码栈的实施例。
首先,参考图1来描述关于计算系统的介绍性讨论。计算系统现在越来越多地采取多种多样的形式。例如,计算系统可以是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统或甚至常规上不被认为是计算系统的设备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),该设备或系统包含至少一个物理有形的处理器以及其上能含有可由处理器执行的计算机可执行指令的物理有形的存储器。存储器可以采取任何形式,并可以取决于计算系统的特性和形式。计算系统可以分布在网络环境中,并可包括多个组分计算系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210480034.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:轴键槽对称度测量装置
- 下一篇:接线盒以及应用该接线盒的太阳电池组件