-
公开(公告)号:CN117377948A
公开(公告)日:2024-01-09
申请号:CN202280036521.5
申请日:2022-05-02
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F11/36
Abstract: 从执行跟踪中去除有效载荷数据。实施例标识执行跟踪内的有效载荷数据项,标识与有效载荷数据项交互的特定可执行代码,并确定特定可执行代码的执行已经施加在有效载荷数据项上的(多个)约束。然后,实施例利用维护(多个)约束的信息来替换执行跟踪中有效载荷数据项的值。维护(多个)约束的信息的示例包括特定可执行代码的一个或多个字节、对应于有效载荷数据项的存储器地址以及被构造用以保留代码流的数据——例如针对有效载荷数据项的替换值、针对有效载荷数据项的一个或多个有效值的集合的规约,或在特定可执行代码中遵循的代码路径的指令。
-
公开(公告)号:CN117178267A
公开(公告)日:2023-12-05
申请号:CN202280029739.8
申请日:2022-04-18
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F12/02
Abstract: 使用存储器标记将多个执行上下文记录到独立的跟踪中。处理器检测存储器操作并且从第一标记以及第二标记中标识相关联的存储器标记,该第一标记指示第一存储器区域针对第一上下文被记日志,该第二标记指示第二存储器区域针对第二上下文被记日志。基于将存储器标记标识为第二标记并且基于第一上下文导致存储器操作,处理器执行以下中的至少一个:在存储器操作导致到高速缓存中的注入时,将注入记日志到与第二上下文相关联的第二跟踪;在存储器操作是读取时,将读取记日志到与第一上下文相关联的第一跟踪;或者在存储器操作是写入时,执行将写入记日志到第二跟踪或驱逐目标高速缓存行中的一个。
-
公开(公告)号:CN117157632A
公开(公告)日:2023-12-01
申请号:CN202280025250.3
申请日:2022-03-21
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F12/0811
Abstract: 在记录执行踪迹时对高速缓存行寿命提示进行日志记录。微处理器检测发起存储器高速缓存内的高速缓存行的寿命的第一高速缓存事件的发生,并且发起对指示存储器高速缓存内的高速缓存行的寿命的开始的第一踪迹信息的日志记录。随后,微处理器检测结束存储器高速缓存内的高速缓存行的寿命的第二高速缓存事件的发生。基于检测到第二高速缓存事件,微处理器发起对指示存储器高速缓存内的高速缓存行的寿命的结束的第二踪迹信息的日志记录。
-
公开(公告)号:CN117149658A
公开(公告)日:2023-12-01
申请号:CN202311247259.1
申请日:2018-05-21
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F11/36
Abstract: 呈现代码实体调用之间的差异包括标识代码实体的多个调用族。每个族基于多个属性被定义,这些属性标识代码实体的一类运行时行为。第一族的(多个)第一属性被标识。这些(多个)第一属性实质上有助于将代码实体的第一类调用分类在第一族内。类似地,第二族的(多个)第二属性被标识。这些(多个)第二属性实质上有助于将代码实体的第二类调用分类在第二族内。基于一个或多个第一属性与一个或多个第二属性之间的差异,呈现代码实体的至少两个调用之间的差异。
-
公开(公告)号:CN116868172A
公开(公告)日:2023-10-10
申请号:CN202280016233.3
申请日:2022-01-23
Applicant: 微软技术许可有限责任公司
IPC: G06F11/07
Abstract: 将主存储器视为用于跟踪日志记录的标记高速缓存行的集合。计算机系统在主存储器内分配多个存储器块和对应的多个标签。每个标签指示被存储在对应存储器块中的数据是否已经被执行跟踪捕获。计算机系统将这些标签与存储器高速缓存中的标签同步,并且管理存储器块的被跟踪状态。这可以包括以下一项或多项:(i)基于标识直接存储器访问操作来设置标签以指示存储器块尚未被捕获,(ii)基于存储器块的页入值是否已经被捕获来设置标签,(iii)基于存储器块是否已经被初始化来设置标签或存储器分类,或者(iv)基于存储器块是否被映射到文件来设置标签或存储器分类。
-
公开(公告)号:CN111095222B
公开(公告)日:2023-09-15
申请号:CN201880060330.6
申请日:2018-06-22
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
Abstract: 使用高速缓存一致性协议(CCP)数据执行基于高速缓存的追踪记录。实施例检测到发生了引起高速缓存行与后备存储区之间的交互的操作,针对引起该操作的处理单元启用了记载,高速缓存行是记载中的参与者,并且CCP指示存在要被记载到追踪的数据。然后,实施例使该数据被记载到追踪,该数据可用于重放该操作。
-
公开(公告)号:CN115552381A
公开(公告)日:2022-12-30
申请号:CN202180033358.2
申请日:2021-04-30
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
Abstract: 一种计算机系统,基于将高速缓存一致性协议(CCP)消息记录到第一跟踪中,以及将存储器快照记录到第二跟踪中来记录可重放执行跟踪。基于确定将要启用对第一执行上下文的执行的跟踪,计算机系统开始将第一执行上下文的存储器空间的一个或多个存储器快照日志记录到第二跟踪中,并且启用处理器的硬件跟踪功能。启用跟踪功能使处理器响应于对第一执行上下文的存储器空间的一个或多个存储器访问而生成的CCP消息日志记录到第一跟踪中。在启用处理器的硬件跟踪特征之后,计算机系统还日志记录或以其他方式处理第二执行上下文向第一执行上下文的存储器空间的写入。
-
公开(公告)号:CN114981783A
公开(公告)日:2022-08-30
申请号:CN202080093060.6
申请日:2020-11-24
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
Abstract: 将主题可重放跟踪与比较可重放跟踪进行区分包括标识记录在主题跟踪中的第一指令序列内的第一多个函数,并且标识记录在比较跟踪中的第二指令序列中的第二多个函数。标识第一多个函数的第一多个组和第二多个函数的第二多个组。比较第一多个组和第二多个组,包括基于每个组的身份和与该组相对应的(多个)函数确定第一多个组中的每个第一组是否是以下至少一项:等于第二多个组中的第二组、是第二多个组中的第二组的替换、从第二多个组中被删除、或者插入第二多个组中。
-
公开(公告)号:CN114490292A
公开(公告)日:2022-05-13
申请号:CN202210093599.2
申请日:2017-08-23
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F11/34
Abstract: 本公开的实施例涉及用于记录可重放跟踪的计算机系统、方法、硬件存储设备。记录多线程进程的执行的可重放跟踪包括标识跟踪存储器模型,其限定将要跨多线程进程的多个线程被排序的一个或多个可排序事件。跨一个或多个处理器的一个或多个处理单元同时执行多个线程。在多个线程的执行期间,针对每个线程独立地记录单独的可重放跟踪。记录包括针对每个线程:记录针对线程的初始状态;记录由至少一个处理器指令执行的至少一个存储器读取,由线程执行的至少一个处理器指令将存储器作为输入;以及利用单调增加的数字记录由线程执行的至少一个可排序事件,单调增加的数字将事件在跨多个线程的其他可排序事件间进行排序。
-
公开(公告)号:CN113711190A
公开(公告)日:2021-11-26
申请号:CN202080027948.X
申请日:2020-03-26
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
Abstract: 本公开涉及创建减少用于线程集中分析的处理的存储器快照。标识多个追踪片段,每个追踪片段表示可执行指令在多个线程的对应线程上的不间断连续执行。追踪片段包括与第一线程相对应的第一片段和第二片段、以及与第二线程相对应的第三片段。确定片段中间的排序。按照该排序,第一片段在第一线程上可排序在第二片段之前,并且第三片段可排序在第一片段与第二片段之间。基于第三片段可排序在第一片段与第二片段之间,标识与其执行由第三追踪片段表示的可执行指令交互的存储器单元。将标识存储器单元的存储器快照数据插入到与第一线程相对应的追踪数据中。
-
-
-
-
-
-
-
-
-