-
公开(公告)号:CN119938495A
公开(公告)日:2025-05-06
申请号:CN202510011341.7
申请日:2019-04-13
Applicant: 微软技术许可有限责任公司
IPC: G06F11/362 , G06F11/30 , G06F11/34
Abstract: 在公开的实施例涉及计算机过程执行的选择性跟踪部分。所描述的技术支持选择性地跟踪过程的执行,除了开发者想要跟踪的代码以外,还进行了一些额外的跟踪,但是通过减少跟踪启用和禁用操作的数目,显著降低了计算性成本。跟踪控制器使用跟踪禁用距离变量,跟踪禁用距离变量的值指示距跟踪禁用的计算性距离。随着过程执行,距离变量修改器自动地移动距离变量以更接近停止跟踪值。创建任务函数被修改以包括指示符的设置,该指示符指示如果当前任务或线程正在被跟踪,则新创建的任务将要被跟踪。执行任务函数被修改,以当新创建的任务基于指示符而被执行时请求对新创建的任务的跟踪,从而实现跨过程边界进行操作并且跟踪异步代码执行的选择性跟踪。
-
公开(公告)号:CN112041824B
公开(公告)日:2024-12-31
申请号:CN201980028662.0
申请日:2019-04-13
Applicant: 微软技术许可有限责任公司
Abstract: 所描述的技术支持选择性地跟踪过程的执行,除了开发者想要跟踪的代码以外,还进行了一些额外的跟踪,但是通过减少跟踪启用和禁用操作的数目,显著降低了计算性成本。跟踪控制器使用跟踪禁用距离变量,跟踪禁用距离变量的值指示距跟踪禁用的计算性距离。随着过程执行,距离变量修改器自动地移动距离变量以更接近停止跟踪值。创建任务函数被修改以包括指示符的设置,该指示符指示如果当前任务或线程正在被跟踪,则新创建的任务将要被跟踪。执行任务函数被修改,以当新创建的任务基于指示符而被执行时请求对新创建的任务的跟踪,从而实现跨过程边界进行操作并且跟踪异步代码执行的选择性跟踪。
-
公开(公告)号:CN115004161B
公开(公告)日:2024-08-23
申请号:CN202080093340.7
申请日:2020-11-24
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
Abstract: 将主题可重放跟踪与多个比较可重放跟踪进行区分包括:标识比较可重放跟踪之间的映射集,各自标识记录在比较可重放跟踪中的等效执行的连续指令的对应比较部分。在比较可重放跟踪内标识出多个不同比较部分。将对象跟踪内的多个对象部分中的每个对象部分与(多个)不同比较部分进行比较以确定每个对象部分的比较状态,包括每个对象部分是否(i)等于至少一个对应不同比较部分,或者(ii)不同于不同比较部分。至少一个特定主题部分相对于至少一个特定对应不同比较部分的所确定的比较状态被应用于每个附加比较部分,映射集中至少一个特定不同比较部分被映射到每个附加比较部分。
-
公开(公告)号:CN117389900A
公开(公告)日:2024-01-12
申请号:CN202311460286.7
申请日:2018-06-01
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F11/36
Abstract: 本公开涉及调试器中的代码的试验性执行。试验性执行实体包括执行实体的第一执行。在第一执行中的点处,暂停第一执行并且接收指定用于运行时数据元素的替换值的输入。基于该输入,在第一执行中的点处开始执行实体的第二执行,同时使得第一执行能够稍后恢复,而不由第二执行影响。第二执行包括将运行时数据元素设定为替换值,并且模拟在第二执行期间由实体执行的一个或多个存储器写入。实体的第一执行可以包括实时执行、基于跟踪数据的执行、基于过程转储的执行等。
-
公开(公告)号:CN117112133A
公开(公告)日:2023-11-24
申请号:CN202311075784.X
申请日:2018-03-26
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
Abstract: 实施方式涉及虚拟化层捕获由虚拟化层所管理的VM的可重放运行跟踪。可以在由虚拟化层管理的任何运行单元上执行运行跟踪,运行单元例如线程、进程、虚拟处理器、个体VM、多个VM等。被跟踪的运行单元可以并行运行。运行跟踪涉及将以下各项捕获到缓冲区中:运行的指令、输入到指令的存储器、由指令输出的存储器、指令接触的寄存器和排序标记。可以以块捕获跟踪数据,其中保留了因果关系,并且保留了块之间但不必是块内的排序。可以通过在上下文切换之间插入单调递增的标记来描绘块,由此对块进行相对排序。可以通过标识非确定性事件而部分地提供确定性。VM跟踪对客户软件是透明的,客户软件不需要感知。备选地,客户可以与虚拟化层对接以控制跟踪功能性。
-
公开(公告)号:CN110892384B
公开(公告)日:2023-11-24
申请号:CN201880045607.8
申请日:2018-05-25
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F11/36
Abstract: 重放对处理器未定义行为依赖的跟踪包括:通过基于来自跟踪文件的所跟踪的程序执行的重放所执行的指令,标识对处理器未定义行为的依赖。基于对处理器未定义行为的依赖,重放包括以下中的一项或多项:(i)发起对未定义行为的依赖的通知,(ii)跳转到跟踪文件中的关键帧,并且在该关键帧处恢复重放,(iii)使用两个或更多个潜在行为来分叉重放,或(iv)使用从两个或更多个潜在行为中选择的所选择的行为来继续重放。
-
公开(公告)号:CN110168507B
公开(公告)日:2023-04-07
申请号:CN201780082584.3
申请日:2017-12-28
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F11/36
Abstract: 执行代码执行的推测重放。实施例包括重放跟踪数据,所述跟踪数据包括表示一个或多个可执行实体的执行的跟踪数据流,包括将重放所述跟踪数据的第一运行时状态存储在第一重放数据结构中。在重放期间,遇到所述可执行实体中的第一兴趣点。基于遇到所述第一兴趣点,中止所述跟踪数据的重放,并且用户界面呈现所述第一运行时状态的一部分。在呈现所述运行时状态的所述部分时,推测地重放所述跟踪数据。推测地重放包括自动选择所述可执行实体中的第二兴趣点;从所述第一重放数据结构来创建第二重放数据结构;以及重放所述跟踪数据直到遇到所述第二兴趣点,包括将重放所述跟踪数据的第二运行时状态存储在所述第二重放数据结构中。
-
公开(公告)号:CN110062927B
公开(公告)日:2023-03-21
申请号:CN201780076149.X
申请日:2017-12-13
Applicant: 微软技术许可有限责任公司
IPC: G06F11/36
Abstract: 本文中的实施例涉及对代码执行的并行重放。实施例解析包括多个追踪数据流的追踪数据,该多个追踪数据流各自表示对多个可执行实体中的对应可执行实体的执行,并且标识多个追踪段,该多个追踪段各自表示由可执行实体中的一个可执行实体在一段时间内执行的一个或多个事件。该实施例定义追踪段之间的排序,标识可执行实体中的至少一个可执行实体中的感兴趣点,并且标识追踪段的当根据排序被线性地重放时将遇到感兴趣点的子集。该实施例在执行池中对追踪段的子集排队以用于由一个或多个处理器重放。然后,基于追踪数据,该实施例使用(多个)处理器来并行地重放追踪段的子集中的两个或更多个追踪段。
-
公开(公告)号:CN115485667A
公开(公告)日:2022-12-16
申请号:CN202180033357.8
申请日:2021-04-30
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
Abstract: 一种处理器,基于将一个或多个高速缓存一致性协议(CCP)消息记录到第一跟踪中,来执行基于高速缓存的跟踪。基于检测到对目标存储器地址的存储器访问,处理器记录到第一跟踪信息中,该信息可用于从存储在第二个跟踪中的(多个)存储器快照获取与特定存储器地址对应的存储器值。这包括记录特定存储器地址以及(多个)CPC消息,其至少指示以下内容的CCP消息:(i)多个处理单元中没有处理单元在高速缓存内拥有与目标存储器地址重叠的第一高速缓存行;(ii)第一处理单元发起了针对目标存储器地址的高速缓存未命中;或(iii)第一处理单元从第二处理中获得高速缓存中与目标存储器地址重叠的第二高速缓存行。
-
公开(公告)号:CN115004161A
公开(公告)日:2022-09-02
申请号:CN202080093340.7
申请日:2020-11-24
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
Abstract: 将主题可重放跟踪与多个比较可重放跟踪进行区分包括:标识比较可重放跟踪之间的映射集,各自标识记录在比较可重放跟踪中的等效执行的连续指令的对应比较部分。在比较可重放跟踪内标识出多个不同比较部分。将对象跟踪内的多个对象部分中的每个对象部分与(多个)不同比较部分进行比较以确定每个对象部分的比较状态,包括每个对象部分是否(i)等于至少一个对应不同比较部分,或者(ii)不同于不同比较部分。至少一个特定主题部分相对于至少一个特定对应不同比较部分的所确定的比较状态被应用于每个附加比较部分,映射集中至少一个特定不同比较部分被映射到每个附加比较部分。
-
-
-
-
-
-
-
-
-