[发明专利]用于可执行代码的并行重放的方法、系统和存储设备有效

专利信息
申请号: 201780076149.X 申请日: 2017-12-13
公开(公告)号: CN110062927B 公开(公告)日: 2023-03-21
发明(设计)人: J·莫拉;J·C·A·贝扎;D·J·米霍克卡;I·卡雷拉斯 申请(专利权)人: 微软技术许可有限责任公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京世辉律师事务所 16093 代理人: 王俊
地址: 美国华*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 可执行 代码 并行 重放 方法 系统 存储 设备
【说明书】:

本文中的实施例涉及对代码执行的并行重放。实施例解析包括多个追踪数据流的追踪数据,该多个追踪数据流各自表示对多个可执行实体中的对应可执行实体的执行,并且标识多个追踪段,该多个追踪段各自表示由可执行实体中的一个可执行实体在一段时间内执行的一个或多个事件。该实施例定义追踪段之间的排序,标识可执行实体中的至少一个可执行实体中的感兴趣点,并且标识追踪段的当根据排序被线性地重放时将遇到感兴趣点的子集。该实施例在执行池中对追踪段的子集排队以用于由一个或多个处理器重放。然后,基于追踪数据,该实施例使用(多个)处理器来并行地重放追踪段的子集中的两个或更多个追踪段。

背景技术

当在软件应用的开发期间写代码时,开发者通常花费大量时间“调试”代码以找到代码中的运行时错误。在这样做时,开发者可以采取若干方式来再现并定位源代码缺陷,诸如基于不同输入来观察程序的表现,插入调试代码(例如,以打印变量值,以跟踪执行的分支,等等),暂时移除代码部分等等。查出运行时错误以查明代码缺陷可能占用应用开发时间的重大部分。

许多类型的调试应用(“调试器”)已经被开发以便辅助开发者进行代码调试过程。许多这样的工具向开发者提供跟踪、可视化以及改变计算机代码的执行的能力。例如,调试器可以使代码指令的执行可视化,可以在代码执行期间的各个时间呈现变量值,可以使得开发者能够改变代码执行路径和/或可以使得开发者能够在代码中设置“断点”(其当在执行期间被到达时,使代码的执行被挂起)等等。

调试应用的新兴形式实现“时间行进”、“反向”、或“历史性”调试,其中程序的执行由追踪应用记录/追踪到一个或多个追踪文件中,其然后可以被用于重放对程序的执行以用于前向和后向分析。例如,时间行进调试器可以使得开发者能够设置前向断点(类似传统调试器)以及反向断点。然而,为了确保追踪数据的正确性,这些传统时间行进调试器强制实行一些限制,其中程序代码如同其是单线程一样被追踪并且在单个处理器上执行—即使在代码被编写为多线程。这转而导致放慢了这些追踪的重放执行,因为重放同样是单线程的。

发明内容

本文中描述的至少一些实施例利用包括独立地记录对不同可执行实体(例如,线程)的追踪的数据流的追踪,以便实现对可执行实体的并行重放。利用这些追踪提供快速重放执行,因为追踪的段可以在多个处理单元上被并行地重放。因此,实现了一种计算机系统以比传统时间行进调试器快得多地提供调试过程中的结果。例如,在许多情况中,本文中描述的实施例可以使得时间行进调试器能够并行地重放多个追踪数据流的多个段,以便足够快速地(例如,在50毫秒内)(重放的持续时间对于人类用户而言是感觉不到的)定位指定的断点。

一些实施例涉及用于执行对代码执行的并行重放的方法、系统和/或计算机程序产品。追踪数据被解析。追踪数据包括多个追踪数据流,多个追踪数据流各自表示对多个可执行实体中的对应可执行实体的执行。解析包括从多个追踪数据流标识来自多个追踪数据流之中的多个追踪段。每个追踪段表示由可执行实体中的一个可执行实体在一段时间内执行的一个或多个事件。多个追踪段之间的排序被定义,并且多个可执行实体中的至少一个可执行实体中的感兴趣点被标识。多个追踪段的当根据排序被线性地重放时将遇到感兴趣点的子集被标识。多个追踪段的子集在执行池中被排队以用于由一个或多个处理器重放,并且(多个)处理器使用追踪数据来并行地重放多个追踪段的子集中的两个或更多个追踪段。

提供本发明内容从而以简化的形式介绍下面在具体实施方式中被进一步描述的一系列概念。本发明内容并不旨在确定要求保护的主题的关键特征或必要特征,也并不旨在被用作确定要求保护的主题的范围的辅助。

附图说明

为了描述能够获得本发明的以上所述的优点和特征以及其他优点和特征的方式,将通过参考在附图中图示的其具体实施例来呈现以上简单描述的本发明的更具体的描述。在理解这些附图仅仅描绘本发明的典型实施例并且因此不被认为是对其范围的限制的情况下,本发明利用在对附图的使用中的附加的特异性和细节而被描述和解释,在附图中:

图1图示了促进对程序代码的并行重放的示例计算环境;

图2图示了示例追踪文件;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201780076149.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top