[发明专利]可执行代码的推测重放有效

专利信息
申请号: 201780082584.3 申请日: 2017-12-28
公开(公告)号: CN110168507B 公开(公告)日: 2023-04-07
发明(设计)人: J·莫拉 申请(专利权)人: 微软技术许可有限责任公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京世辉律师事务所 16093 代理人: 王俊
地址: 美国华*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 可执行 代码 推测 重放
【说明书】:

执行代码执行的推测重放。实施例包括重放跟踪数据,所述跟踪数据包括表示一个或多个可执行实体的执行的跟踪数据流,包括将重放所述跟踪数据的第一运行时状态存储在第一重放数据结构中。在重放期间,遇到所述可执行实体中的第一兴趣点。基于遇到所述第一兴趣点,中止所述跟踪数据的重放,并且用户界面呈现所述第一运行时状态的一部分。在呈现所述运行时状态的所述部分时,推测地重放所述跟踪数据。推测地重放包括自动选择所述可执行实体中的第二兴趣点;从所述第一重放数据结构来创建第二重放数据结构;以及重放所述跟踪数据直到遇到所述第二兴趣点,包括将重放所述跟踪数据的第二运行时状态存储在所述第二重放数据结构中。

背景技术

当在软件应用的开发期间编写代码时,开发人员通常花费大量时间“调试”代码以找到在代码中的运行时错误。在这样做时,开发人员可以采取几种方案来重现和本地化源代码错误,诸如基于不同输入观察程序的行为,插入调试代码(例如以打印变量值,以跟踪执行分支等),临时移除代码部分等。跟踪运行时错误以查明代码错误可能会占用应用开发时间的很大一部分。

已经开发了许多类型的调试应用(“调试器”)以便于帮助开发人员进行代码调试过程。这些工具向开发人员提供用于跟踪、可视化和改变计算机代码的执行的能力。例如调试器可以可视化代码指令的执行,可以在代码执行期间的不同时间呈现变量值,可以使开发人员能够改变代码执行路径,和/或可以使开发人员能够在代码中设置“断点”(当在执行期间到达时,导致代码的执行被暂停)等等。

一种新兴形式的调试应用能够实现“时间行进”、“反向”或“历史”调试,其中程序的执行由跟踪应用记录/跟踪到一个或多个跟踪文件中,其然后可以用于重放程序的执行以进行前向和后向分析。例如“时间行进”调试器可以使开发人员能够设置转发断点(如传统调试器)以及反向断点。

然而,由于需要重放代码执行,“时间行进”调试器可能表现出较差的响应性。例如在用户发出调试操作(例如单步向前/向后、步进向前/向后、前进/后退)和“时间行进”调试器“命中”断点并将结果呈现给用户的时间之间可能存在显著延迟,因为调试器需要响应用户输入来执行可能数十亿条指令的跟踪重放。

发明内容

本文描述的至少一些实施例执行可执行代码的跟踪的推测重放,同时在用户界面处同时并发地呈现在用户请求的重放期间遇到兴趣点的结果。特别地,当在遇到的兴趣点处呈现程序运行时状态时,实施例预测用户可能接下来感兴趣的一个或多个推测的兴趣点(或者将暗示推测的兴趣点的一个或多个调试操作),并且执行可执行代码的至少一个推测重放,直到遇到推测兴趣点。作为推测重放的一部分,运行时数据被记录在与正常重放期间使用的数据结构不同的数据结构中。如果下一个用户选择的兴趣点/操作与预测的兴趣点/操作匹配,则运行时结果在用户界面上从单独的数据结构被快速呈现,而不是在用户等待的同时需要执行所请求的调试操作。

通过执行推测重放,本文描述的实施例使得计算机系统能够基本上完全利用处理器资源(即,在等待用户输入的同时通过使用备用处理器周期进行推测重放而不是空闲),并提供响应式调试用户界面,其通常在针对这些结果的用户请求被接收之前准备好重放结果。

在一个实施例中,执行代码执行的推测重放包括重放跟踪数据,跟踪数据包括表示一个或多个可执行实体的执行的一个或多个跟踪数据流,其包括将重放跟踪数据的第一运行时状态存储在一个或多个第一重放数据结构中。在跟踪数据的重放期间,遇到一个或多个可执行实体中的第一个兴趣点。至少基于遇到第一兴趣点,中止跟踪数据的重放,并且用户界面呈现在一个或多个第一重放数据结构中存储的第一运行时状态的至少一部分。在用户界面处呈现第一运行时状态的一部分的同时,推测地重放跟踪数据。推测重放包括自动选择一个或多个可执行实体中的第二兴趣点,基于一个或多个第一重放数据结构来创建一个或多个第二重放数据结构,并重放跟踪数据直到遇到第二兴趣点。重放跟踪数据的第二运行时状态被存储在一个或多个第二重放数据结构中。

提供本发明内容是为了以简化的形式介绍概念的选择,这些概念将在下面的具体实施方式中被进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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