-
公开(公告)号:CN110036373A
公开(公告)日:2019-07-19
申请号:CN201780075091.7
申请日:2017-11-28
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉 , J·C·亚雷瓦罗·巴埃扎 , D·J·米霍克卡
IPC: G06F11/36
Abstract: 描述了用于处理所记录的程序数据的技术。在实现中,计算设备中的跟踪模块处理所记录的程序的指令并且生成用于程序优化的跟踪文件。在实现中,跟踪模块记录所接收的程序的子集以包括在跟踪文件中。计算设备还可以或者相反被实现为主动地和在没有用户发起的情况下收集和发起对应用数据的分析。
-
公开(公告)号:CN109964207A
公开(公告)日:2019-07-02
申请号:CN201780069596.2
申请日:2017-11-06
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
Abstract: 使用高速缓存数据来记录对可执行实体的执行的可重放跟踪包括:跨一个或多个处理器的一个或多个处理单元并发执行可执行实体的一个或多个线程。在一个或多个线程的执行期间,独立地为每个线程记录分离的可重放跟踪。针对每个线程,记录包括记录针对该线程的初始处理器寄存器状态。针对每个线程,记录还包括在检测到处理器数据高速缓存未命中时,记录被导入到处理器数据高速缓存中的至少一行高速缓存数据。记录还包括通过记录其副作用来记录至少一个事件的发生。
-
公开(公告)号:CN120066942A
公开(公告)日:2025-05-30
申请号:CN202510130123.5
申请日:2019-03-08
Applicant: 微软技术许可有限责任公司
IPC: G06F11/362 , G06F11/30 , G06F21/62 , G06F21/12 , G06F11/34 , G06F11/3698
Abstract: 本公开的实施例涉及在时间旅行跟踪调试中保护敏感信息。保护与跟踪实体的原始执行相关的敏感信息。实施例包括:标识原始信息包括敏感信息,该原始信息基于实体的一个或多个原始可执行指令的原始执行而被访问。基于原始信息包括敏感信息,实施例包括执行以下中的一项或两项:(i)将包括备选信息而非原始信息的第一跟踪数据存储到跟踪中,同时确保由实体基于原始信息而采用的执行路径在使用跟踪的实体的原始执行的重放期间也将被采用;(ii)将第二跟踪数据存储到跟踪中,该跟踪引起零个或多个备选可执行指令而非实体的一个或多个原始可执行指令在实体的原始执行的重放期间被执行。
-
公开(公告)号:CN113711190B
公开(公告)日:2025-03-11
申请号:CN202080027948.X
申请日:2020-03-26
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F11/362 , G06F9/54 , G06F12/02
Abstract: 本公开涉及创建减少用于线程集中分析的处理的存储器快照。标识多个追踪片段,每个追踪片段表示可执行指令在多个线程的对应线程上的不间断连续执行。追踪片段包括与第一线程相对应的第一片段和第二片段、以及与第二线程相对应的第三片段。确定片段中间的排序。按照该排序,第一片段在第一线程上可排序在第二片段之前,并且第三片段可排序在第一片段与第二片段之间。基于第三片段可排序在第一片段与第二片段之间,标识与其执行由第三追踪片段表示的可执行指令交互的存储器单元。将标识存储器单元的存储器快照数据插入到与第一线程相对应的追踪数据中。
-
公开(公告)号:CN117112134A
公开(公告)日:2023-11-24
申请号:CN202311076802.6
申请日:2018-03-26
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
Abstract: 实施方式涉及虚拟化层捕获由虚拟化层所管理的VM的可重放运行跟踪。可以在由虚拟化层管理的任何运行单元上执行运行跟踪,运行单元例如线程、进程、虚拟处理器、个体VM、多个VM等。被跟踪的运行单元可以并行运行。运行跟踪涉及将以下各项捕获到缓冲区中:运行的指令、输入到指令的存储器、由指令输出的存储器、指令接触的寄存器和排序标记。可以以块捕获跟踪数据,其中保留了因果关系,并且保留了块之间但不必是块内的排序。可以通过在上下文切换之间插入单调递增的标记来描绘块,由此对块进行相对排序。可以通过标识非确定性事件而部分地提供确定性。VM跟踪对客户软件是透明的,客户软件不需要感知。备选地,客户可以与虚拟化层对接以控制跟踪功能性。
-
公开(公告)号:CN117043754A
公开(公告)日:2023-11-10
申请号:CN202280023138.6
申请日:2022-03-21
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F12/0811
Abstract: 经由参考转换后备缓冲器(TLB)条目来压缩执行追踪内的存储器地址。一种微处理器标识TLB槽内的TLB条目,该TLB条目将虚拟存储器页映射到物理存储器页。微处理器通过启动对虚拟存储器页的至少一个虚拟地址的记录以及从多个活动的TLB条目中唯一地标识TLB条目的标识符的记录,来启动对TLB条目的记录。随后,微处理器标识存储器高速缓存槽内的高速缓存条目,该高速缓存条目包括对应于高速缓存线的物理存储器地址。微处理器通过将物理存储器地址的物理存储器页标识部分与TLB条目相匹配来启动高速缓存条目的记录,然后启动至少针对TLB条目的标识符和偏移部分的记录。
-
公开(公告)号:CN110431536B
公开(公告)日:2023-06-02
申请号:CN201880018952.2
申请日:2018-03-13
Applicant: 微软技术许可有限责任公司
IPC: G06F11/36
Abstract: 实现整个数据结构上的断点包括用于在由数据结构覆盖的多个存储器地址上设置断点的方法、系统和计算机程序产品。一个实施例包括:接收对针对其请求断点的数据结构的引用,并且然后基于该引用来标识数据结构的数据结构布局。基于数据结构的数据结构布局,标识由该数据结构覆盖的多个存储器地址,以及将多个存储器地址添加到断点列表。
-
公开(公告)号:CN115408291A
公开(公告)日:2022-11-29
申请号:CN202211112111.2
申请日:2017-11-06
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F11/36
Abstract: 本公开的各实施例涉及用于时间旅行调试和分析的计算机系统、计算机系统处实施的方法和硬件存储设备。使用高速缓存数据来记录对可执行实体的执行的可重放跟踪包括:跨一个或多个处理器的一个或多个处理单元并发执行可执行实体的一个或多个线程。在一个或多个线程的执行期间,独立地为每个线程记录分离的可重放跟踪。针对每个线程,记录包括记录针对该线程的初始处理器寄存器状态。针对每个线程,记录还包括在检测到处理器数据高速缓存未命中时,记录被导入到处理器数据高速缓存中的至少一行高速缓存数据。记录还包括通过记录其副作用来记录至少一个事件的发生。
-
公开(公告)号:CN109964207B
公开(公告)日:2022-09-27
申请号:CN201780069596.2
申请日:2017-11-06
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
Abstract: 使用高速缓存数据来记录对可执行实体的执行的可重放跟踪包括:跨一个或多个处理器的一个或多个处理单元并发执行可执行实体的一个或多个线程。在一个或多个线程的执行期间,独立地为每个线程记录分离的可重放跟踪。针对每个线程,记录包括记录针对该线程的初始处理器寄存器状态。针对每个线程,记录还包括在检测到处理器数据高速缓存未命中时,记录被导入到处理器数据高速缓存中的至少一行高速缓存数据。记录还包括通过记录其副作用来记录至少一个事件的发生。
-
公开(公告)号:CN114424171A
公开(公告)日:2022-04-29
申请号:CN202080065438.1
申请日:2020-06-17
Applicant: 微软技术许可有限责任公司
Inventor: J·莫拉
IPC: G06F11/36
Abstract: 利用差异图进行跟踪索引和重放。重放以第一指令开始且以第二指令结束的跟踪的指令的子集以获得一个或多个命名资源的状态。基于重放指令的子集,生成差异图,该差异图被结构化为使得在第一指令处的差异图的添加将一个或多个命名资源带到第二状态,并且在第二指令处的差异图的减去将一个或多个命名资源带到第一状态。到达目标指令的一部分,稍后在第一指令处添加差异图以在第二指令处恢复第二状态,或者在第二指令处减去差异图以恢复第一指令的第一状态。
-
-
-
-
-
-
-
-
-