分布式时间旅行跟踪记录和重放制造技术

技术编号:23352213 阅读:22 留言:0更新日期:2020-02-15 07:03
分布式跟踪记录和重放基于跟踪在第一计算机系统处的第一实体的执行,同时还并发地并且独立地跟踪在第二计算机系统处的第二实体的执行。跟踪包括在实体在其对应计算机系统处的执行期间发生的并且以支持实体的所记录的执行的完整重放的保真度被记录的对应可排序事件。每个跟踪包括在相应可排序事件中至少部分地排序在实体之间传递的至少一个消息的发送或接收的信息。

Distributed time travel tracking and replay

【技术实现步骤摘要】
【国外来华专利技术】分布式时间旅行跟踪记录和重放
技术介绍
当在软件应用的开发期间编写代码时,开发人员通常花费大量时间来“调试”代码以查找运行时和其他源代码错误。在这样做时,开发人员可以采取几种方法来再现和定位源代码错误,诸如基于不同输入来观察程序的行为,插入调试代码(例如,以打印变量值,跟踪执行分支,等等),暂时移除代码部分,等等。跟踪运行时错误以查明代码错误可能会占用很大一部分应用开发时间。为了协助开发人员进行代码调试过程,已经开发了很多类型的调试应用(“调试器”)。这些工具提供开发人员跟踪、可视化和更改计算机代码的执行的能力。例如,调试器可以可视化代码指令的执行,可以在代码执行期间的不同时间呈现代码变量值,可以使得开发人员能够更改代码执行路径,和/或可以使得开发人员能够在感兴趣的代码元素上设置“断点”和/或“监测点”(在执行期间到达时,其会使代码的执行被挂起),等等。新兴的调试应用形式支持“时间旅行”、“反向”或“历史”调试。利用“时间旅行”调试,跟踪应用将程序(例如,可执行实体,诸如线程)的执行记录/跟踪到一个或多个跟踪文件中。然后,这些(多个)跟踪文件可以用于在稍后重本文档来自技高网...

【技术保护点】
1.一种执行分布式跟踪记录的系统,包括:/n第一计算机系统,包括被配置为在被执行时执行至少以下操作的计算机可执行指令:/n在所述第一计算机系统的一个或多个处理器处记录第一实体的执行的第一跟踪,包括将在所述第一实体的执行期间发生的第一多个可排序事件记录到所述第一跟踪中,所述第一跟踪是以支持所述第一实体的所记录的所述执行的完整重放的保真度而被记录的;/n标识消息从所述第一实体到所述第一计算机系统外部的第二实体的发送;以及/n基于标识所述消息的所述发送,将第一信息记录到所述第一跟踪中,所述第一信息在所述第一多个可排序事件中至少部分地排序所述消息的发送;以及/n第二计算机系统,包括被配置为在被执行时执...

【技术特征摘要】
【国外来华专利技术】20170629 US 15/637,3761.一种执行分布式跟踪记录的系统,包括:
第一计算机系统,包括被配置为在被执行时执行至少以下操作的计算机可执行指令:
在所述第一计算机系统的一个或多个处理器处记录第一实体的执行的第一跟踪,包括将在所述第一实体的执行期间发生的第一多个可排序事件记录到所述第一跟踪中,所述第一跟踪是以支持所述第一实体的所记录的所述执行的完整重放的保真度而被记录的;
标识消息从所述第一实体到所述第一计算机系统外部的第二实体的发送;以及
基于标识所述消息的所述发送,将第一信息记录到所述第一跟踪中,所述第一信息在所述第一多个可排序事件中至少部分地排序所述消息的发送;以及
第二计算机系统,包括被配置为在被执行时执行至少以下操作的计算机可执行指令:
并发于所述第一计算机系统记录所述第一实体的执行的所述第一跟踪,在所述第二计算机系统的一个或多个处理器处记录所述第二实体的执行的第二跟踪,包括将在所述第二实体的执行期间发生的第二多个可排序事件记录到所述第二跟踪中,所述第二跟踪是以支持所述第二实体的所记录的所述执行的完整重放的保真度而被记录的;
标识由所述第二实体对所述消息的接收;以及
基于标识所述消息的所述接收,将第二信息记录到所述第二跟踪中,所述第二信息在所述第二多个可排序事件中至少部分地排序所述消息的接收,并且其中所述第一信息和所述第二信息标识所述第一多个可排序事件比对所述第二多个可排序事件的至少部分排序。


2.根据权利要求1所述的系统,其中记录所述第一实体的执行的所述第一跟踪包括并发地记录在所述第一计算机系统处执行的至少一个其他实体,并且其中所述第一多个可排序事件中的至少两个可排序事件跨所述第一实体和所述至少一个其他实体排序事件。


3.根据权利要求1所述的系统,其中记录所述第一实体的执行的所述第一跟踪包括记录所述第一实体的少于整个执行。


4.根据权利要求1所述的系统,其中记录所述第二实体的执行的所述第二跟踪包括记录与被执行以接收所述消息的代码相对应的所述第二实体的所述执行的子集,同时避免记录所述第二实体的所述执行的至少一部分。


5.根据权利要求1所述的系统,其中将所述第一信息记录到所述第一跟踪中包括将消息标识符插入到所述消息中并且将所述消息标识符记录到所述第一跟踪中,并且其中将所述第二信息记录到所述第二跟踪中包括从所述消息中提取所述消息标识符并且将所述消息标识符记录到所述第二跟踪中。


6.根据权利要求5所述的系统,其中将所述消息标识符插入到所述消息中包括以下中的一项:
由所述第一实体插入所述消息标识符;
由所述第一实体所使用的库插入所述消息标识符;或者
由调试器插入所述消息标识符。


7.根据权利要求1所述的系统,其中将所述第一信息记录到所述第一跟踪中包括将用于发送所述消息的应用程序编程接口(API)调用的标识和在所述调用中使用的一个或多个参数记录到所述第一跟踪中,并且其中将所述第二信息记录到所述第二跟踪中包括将用于发送所述消息的所述API调用的所述标识和在所述调用中使用的所述一个或多个参数记录到所述第二跟踪中。


8.根据权利要求7所述的系统,其中记录所述一个或多个参数包括以下中的至少一项:
记录被传递给函数的一个或多个值;或者
记录一个或多个隐式参数。
...

【专利技术属性】
技术研发人员:J·莫拉
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

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

1