-
公开(公告)号:CN114245892A
公开(公告)日:2022-03-25
申请号:CN202080056933.6
申请日:2020-06-11
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F11/36
Abstract: 确定函数内部加载修改是否影响被追踪的函数的所述输出。函数在实体的先前执行的被追踪部分内被标识。该函数包括可执行指令序列,并且产生一个或多个输出。由该函数的被追踪的实例产生的(多个)追踪的输出数据值被确定,并且该可执行指令序列内的执行从存储器的加载的可执行指令被标识。该函数的执行被仿真,同时用不同的存储器值替换在所述函数的被追踪的实例期间由所述可执行指令加载的追踪存储器值,并且同时产生(多个)仿真的输出数据值。基于在(多个)被追踪的输出数据值与(多个)仿真的输出数据值之间存在差异,通知在用户接口处或者向软件组件被生成。
-
公开(公告)号:CN113785284A
公开(公告)日:2021-12-10
申请号:CN202080032369.4
申请日:2020-04-01
Applicant: 微软技术许可有限责任公司
Inventor: D·迈尔斯 , J·M·戴维斯 , T·莱 , A·R·斯特兰德 , D·陈 , P·L·尼尔森 , J·莫拉 , J·C·亚雷瓦罗·巴埃扎 , J·M·平克顿 , L·Y·理查森 , K·W·塞克斯
Abstract: 基于历史调试追踪来标识和报告潜在数据不一致和/或潜在数据争用。基于线程的重放,一些实现观察值到存储器单元的流入,并且确定从流入中观察的存储器单元的值是否与线程所已知的存储器单元的先前值不一致。如果是这样,则这些实现可以发起数据不一致的指示。基于多个线程的重放,其他实现标识在线程同步机制在第一线程上有效时由第一线程访问的存储器单元。然后,如果由第二线程在未使用线程同步机制的情况下对存储器单元进行了另一访问,则这些实现可以发起潜在数据争用的指示。
-
公开(公告)号:CN113632067A
公开(公告)日:2021-11-09
申请号:CN202080021023.4
申请日:2020-03-12
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F11/36
Abstract: 本公开涉及利用跟踪代码的记录执行来仿真非跟踪代码。例如,实施例访问第一可执行代码的先前执行的可重放记录执行。可重放记录执行包括一个或多个输入,该一个或多个输入在第一可执行代码的先前执行期间由一个或多个第一可执行指令消耗。与第一可执行代码不同的第二可执行代码也被访问。第二可执行代码的执行未被记录在可重放记录执行中。使用来自可重放记录执行的一个或多个输入来仿真第二可执行代码的执行。实施例可以报告第二可执行代码的仿真执行与第一可执行代码的先前执行之间的差异,或者可以报告第二可执行代码的仿真执行与第一可执行代码的先前执行之间的等效性。
-
公开(公告)号:CN112368684A
公开(公告)日:2021-02-12
申请号:CN201980043057.0
申请日:2019-06-18
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F11/36 , G06F12/126 , G06F12/0802
Abstract: 经由高速缓存执行断点检测包括:检测存储器访问的出现,以及标识高速缓存的任何高速缓存行是否与关联于存储器访问的地址相匹配。在确实有高速缓存行与关联于存储器访问的地址相匹配时,断点没有被遇到。在没有高速缓存行与关联于存储器访问的地址相匹配时,实施例标识是否有任何高速缓存行在一个或多个标志位被忽略时与关联于存储器访问的地址相匹配。在确实有高速缓存行在一个或多个标志位被忽略时与关联于存储器访问的地址相匹配时,实施例执行断点是否被遇到的检查。否则,实施例处理高速缓存未命中。
-
公开(公告)号:CN112041823A
公开(公告)日:2020-12-04
申请号:CN201980028633.4
申请日:2019-04-22
Applicant: 微软技术许可有限责任公司
Abstract: 在开发人员希望其被跟踪的代码与其他代码之间的每个连接点处明确地开启和关闭跟踪可以减小跟踪文件大小但是却增加计算性成本。所描述的技术支持选择性地跟踪过程的执行,除了开发者想要跟踪的代码以外,还进行了一些额外的跟踪,但是通过减少跟踪启用和禁用操作的数目,显著降低了计算性成本。跟踪控制器使用跟踪禁用距离变量,跟踪禁用距离变量的值指示距跟踪禁用的计算性距离。随着过程执行,距离变量修改器自动地移动距离变量以更接近停止跟踪值。基于关于例程大小和计算性成本的信息,通过调节阈值来平衡额外的跟踪量与跟踪启用/禁用操作的减少。跟踪控制器的操作由示例API、跟踪状态图和并排比较、以及其他项进行了说明。
-
公开(公告)号:CN111742301A
公开(公告)日:2020-10-02
申请号:CN201980014496.9
申请日:2019-02-14
Applicant: 微软技术许可有限责任公司
Abstract: 基于上层缓存层的跟踪日志记录,确定下层缓存层如何记录流入量。第二缓存从下层第一缓存接收引用存储器地址的日志记录请求。第二缓存确定它是否具有针对存储器地址的缓存行。当存在缓存行时,第二缓存将请求转发到下一日志记录缓存层,或者如果第二缓存是最外面的日志记录层,则使缓存行被日志记录。当不存在缓存行时,当缓存行不被第二缓存确定为被日志记录,或者当缓存行被第二缓存确定为被日志记录但未确定第一缓存是否知道第二缓存中缓存行的当前值时,第二缓存使缓存行被日志记录。
-
公开(公告)号:CN111727425A
公开(公告)日:2020-09-29
申请号:CN201980013653.4
申请日:2019-01-25
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
Abstract: 跟踪记录基于外部级缓存的数据流入量和内部缓存之间的缓存一致性协议(CCP)转换。(多个)示例计算设备包括多个处理单元、多个(N-1)级缓存以及N级缓存,该N级缓存与多个(N-1)级缓存中的两个或更多个(N-1)级缓存相关联,并且作为两个或更多个(N-1)级缓存的后备存储库。至少基于跨处理单元执行期间检测到对N级缓存中的位置的(多个)数据流入量,(多个)计算设备使(多个)数据流入量被日志记录。(多个)计算设备还使两个或更多个(N-1)级缓存之间的一个或多个(N-1)级CCP转换被日志记录。(N-1)级CCP转换由该位置被处理单元中的两个或更多个处理单元访问而引起。
-
公开(公告)号:CN111095222A
公开(公告)日:2020-05-01
申请号:CN201880060330.6
申请日:2018-06-22
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
Abstract: 使用高速缓存一致性协议(CCP)数据执行基于高速缓存的追踪记录。实施例检测到发生了引起高速缓存行与后备存储区之间的交互的操作,针对引起该操作的处理单元启用了记载,高速缓存行是记载中的参与者,并且CCP指示存在要被记载到追踪的数据。然后,实施例使该数据被记载到追踪,该数据可用于重放该操作。
-
公开(公告)号:CN120066943A
公开(公告)日:2025-05-30
申请号:CN202510130291.4
申请日:2019-04-22
Applicant: 微软技术许可有限责任公司
IPC: G06F11/362 , G06F11/34 , G06F11/30 , G06F11/3604
Abstract: 在开发人员希望其被跟踪的代码与其他代码之间的每个连接点处明确地开启和关闭跟踪可以减小跟踪文件大小但是却增加计算性成本。所描述的技术支持选择性地跟踪过程的执行,除了开发者想要跟踪的代码以外,还进行了一些额外的跟踪,但是通过减少跟踪启用和禁用操作的数目,显著降低了计算性成本。跟踪控制器使用跟踪禁用距离变量,跟踪禁用距离变量的值指示距跟踪禁用的计算性距离。随着过程执行,距离变量修改器自动地移动距离变量以更接近停止跟踪值。基于关于例程大小和计算性成本的信息,通过调节阈值来平衡额外的跟踪量与跟踪启用/禁用操作的减少。跟踪控制器的操作由示例API、跟踪状态图和并排比较、以及其他项进行了说明。
-
公开(公告)号:CN113785277B
公开(公告)日:2025-03-11
申请号:CN202080032925.8
申请日:2020-04-07
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F11/34 , G06F11/362
Abstract: 协处理器基于主处理器处的代码执行来存储执行追踪的至少一部分。协处理器包括控制逻辑,该控制逻辑将协处理器配置为监听将主处理器与协处理器互连的总线并且从该总线接收(多个)高速缓存一致性协议(CCP)消息(即,基于主处理器已消耗存储器单元的数据来通过主处理器在总线上发送的(多个)CCP消息)。基于接收(多个)CCP消息,协处理器启动将所消耗的存储器单元的数据存储到执行追踪中。
-
-
-
-
-
-
-
-
-