在时间旅行跟踪调试中保护敏感信息

    公开(公告)号:CN111868694B

    公开(公告)日:2025-02-28

    申请号:CN201980018994.0

    申请日:2019-03-08

    Abstract: 保护与跟踪实体的原始执行相关的敏感信息。实施例包括:标识原始信息包括敏感信息,该原始信息基于实体的一个或多个原始可执行指令的原始执行而被访问。基于原始信息包括敏感信息,实施例包括执行以下中的一项或两项:(i)将包括备选信息而非原始信息的第一跟踪数据存储到跟踪中,同时确保由实体基于原始信息而采用的执行路径在使用跟踪的实体的原始执行的重放期间也将被采用;(ii)将第二跟踪数据存储到跟踪中,该跟踪引起零个或多个备选可执行指令而非实体的一个或多个原始可执行指令在实体的原始执行的重放期间被执行。

    计算机过程执行的选择性跟踪部分

    公开(公告)号:CN112041823B

    公开(公告)日:2025-02-25

    申请号:CN201980028633.4

    申请日:2019-04-22

    Abstract: 在开发人员希望其被跟踪的代码与其他代码之间的每个连接点处明确地开启和关闭跟踪可以减小跟踪文件大小但是却增加计算性成本。所描述的技术支持选择性地跟踪过程的执行,除了开发者想要跟踪的代码以外,还进行了一些额外的跟踪,但是通过减少跟踪启用和禁用操作的数目,显著降低了计算性成本。跟踪控制器使用跟踪禁用距离变量,跟踪禁用距离变量的值指示距跟踪禁用的计算性距离。随着过程执行,距离变量修改器自动地移动距离变量以更接近停止跟踪值。基于关于例程大小和计算性成本的信息,通过调节阈值来平衡额外的跟踪量与跟踪启用/禁用操作的减少。跟踪控制器的操作由示例API、跟踪状态图和并排比较、以及其他项进行了说明。

    时间旅行调试追踪中的存储器值暴露

    公开(公告)号:CN113678110B

    公开(公告)日:2024-12-31

    申请号:CN202080027930.X

    申请日:2020-04-04

    Inventor: J·莫拉

    Abstract: 本公开涉及在与使存储器单元值被记录到追踪中的事件相对应的(多个)执行时间之前暴露存储器单元值。包括第一追踪片段和第二追踪片段的追踪片段在追踪内被标识。每个追踪片段记录可执行指令在对应线程上的不间断连续执行。第一追踪片段可以在第二追踪片段之前排序。确定在第二片段的回放期间,存储器单元值可以在第一执行时间处被暴露,第一执行时间在第二执行时间之前,第二执行时间对应于使存储器单元值在追踪记录期间被记录到追踪中的事件。输出数据被生成,该输出数据指示在第二追踪片段的回放期间存储器单元值可以在第一执行时间暴露。

    使用编译器生成的仿真优化元数据改进仿真和跟踪性能

    公开(公告)号:CN113196243B

    公开(公告)日:2024-12-31

    申请号:CN201980082004.X

    申请日:2019-12-03

    Inventor: J·莫拉

    Abstract: 仿真器可以使用编译器元数据来有效地仿真从源代码编译的可执行机器代码的执行。基于访问与机器代码相关联的编译器元数据,仿真器可以标识机器代码未暗示的、源代码的(多个)行为,机器代码从该源代码而被编译。从这些行为中,仿真器可以标识在仿真线程的执行期间可以应用的(多个)仿真器优化,以减少仿真机器代码的执行所需要的步骤数,同时保留任何外部可见的副作用。这些优化可以操作来减少仿真机器代码的执行所需要的仿真器操作数,或者从仿真中省略一个或多个机器代码指令。这些优化然后可以在仿真线程的执行的同时而被应用。所仿真的执行可以被记录为跟踪,该跟踪与在没有这些优化的情况下所记录的跟踪等效。

    通过日志记录对上层共享缓存的流入量以及下层缓存之间的缓存一致性协议转换来进行跟踪记录

    公开(公告)号:CN111727425B

    公开(公告)日:2024-11-26

    申请号:CN201980013653.4

    申请日:2019-01-25

    Inventor: J·莫拉

    Abstract: 跟踪记录基于外部级缓存的数据流入量和内部缓存之间的缓存一致性协议(CCP)转换。(多个)示例计算设备包括多个处理单元、多个(N‑1)级缓存以及N级缓存,该N级缓存与多个(N‑1)级缓存中的两个或更多个(N‑1)级缓存相关联,并且作为两个或更多个(N‑1)级缓存的后备存储库。至少基于跨处理单元执行期间检测到对N级缓存中的位置的(多个)数据流入量,(多个)计算设备使(多个)数据流入量被日志记录。(多个)计算设备还使两个或更多个(N‑1)级缓存之间的一个或多个(N‑1)级CCP转换被日志记录。(N‑1)级CCP转换由该位置被处理单元中的两个或更多个处理单元访问而引起。

    利用熵防止代码执行日志中包括有效载荷数据

    公开(公告)号:CN117377955A

    公开(公告)日:2024-01-09

    申请号:CN202280036520.0

    申请日:2022-05-02

    Inventor: J·莫拉

    Abstract: 使用熵来防止有效载荷数据包括在代码执行日志数据中。实施例确定与代码执行日志数据相关联的有效载荷数据项具有超过定义的熵阈值的熵,并标识与有效载荷数据项交互的特定可执行代码。然后,实施例采取预防性动作,预防性动作排除有效载荷数据项,使有效载荷数据项不与特定可执行代码的执行记录一起包括。预防性行动的示例包括防止有效载荷数据项从计算机系统被输出、防止有效载荷数据项被包括在代码执行日志数据中、以及参考特定可执行代码将有效载荷数据项添加到块列表中。

    执行跟踪内的物理存储器地址省略或混淆

    公开(公告)号:CN117063161A

    公开(公告)日:2023-11-14

    申请号:CN202280024698.3

    申请日:2022-03-21

    Inventor: J·莫拉

    Abstract: 省略或混淆执行跟踪内的物理存储器地址。微处理器标识将第一虚拟存储器页映射到物理存储器页的第一转译后备缓冲器(TLB)条目,并且通过发起至少第一虚拟存储器页的第一虚拟地址和第一标识符的录入来发起第一TLB条目的录入。微处理器标识将第二虚拟存储器页映射到物理存储器页的第二TLB条目,并且通过发起至少第二虚拟存储器页的至少第二虚拟地址和第二标识符的录入来发起第二TLB条目的录入。微处理器确定第一和第二TLB条目每个是活动的、被录入到执行跟踪中并且被映射到相同的物理地址,并且确保执行跟踪指示第一和第二TLB条目每个映射到物理地址。

    呈现代码实体调用之间的差异

    公开(公告)号:CN110741354B

    公开(公告)日:2023-09-26

    申请号:CN201880039816.1

    申请日:2018-05-21

    Inventor: J·莫拉

    Abstract: 呈现代码实体调用之间的差异包括标识代码实体的多个调用族。每个族基于多个属性被定义,这些属性标识代码实体的一类运行时行为。第一族的(多个)第一属性被标识。这些(多个)第一属性实质上有助于将代码实体的第一类调用分类在第一族内。类似地,第二族的(多个)第二属性被标识。这些(多个)第二属性实质上有助于将代码实体的第二类调用分类在第二族内。基于一个或多个第一属性与一个或多个第二属性之间的差异,呈现代码实体的至少两个调用之间的差异。

    在跟踪重放期间存储器值的有效检索

    公开(公告)号:CN110249315B

    公开(公告)日:2023-06-20

    申请号:CN201880009735.7

    申请日:2018-01-29

    Inventor: J·莫拉

    Abstract: 在重放期间保持存储器值包括识别跟踪部分,每个跟踪部分表示实体在一段时间内执行的事件。在多个处理单元处执行跟踪部分的并行重放。在执行并行重放时,维持对应于每个跟踪部分的持久性数据结构。这包括对于每个跟踪部分,在跟踪部分的持久性数据结构中存储处理单元在重放跟踪部分时所消耗的每个存储器地址以及存储在每个存储器地址处的最近存储器值的记录。在重放期间返回存储器值包括识别相关的持久性数据结构,并且依次基于定义排序搜索这些数据结构。当在搜索期间识别出相关存储器地址时,停止搜索并返回在储器地址处被关联的、存储在持久性数据结构中的值。

    监测断点出现的存储器位置的方法、计算机系统和介质

    公开(公告)号:CN110168508B

    公开(公告)日:2023-05-26

    申请号:CN201780083409.6

    申请日:2017-12-29

    Inventor: J·莫拉

    Abstract: 经由高速缓存的有效断点检测包括通过检测高速缓存上的高速缓存未命中来监测存储器位置。将要被监测的储存器地址存储在监测列表中,并且如果高速缓存中存在与储存器地址重叠的任何高速缓存行,则将其逐出。当检测到基于存储器访问操作发生高速缓存未命中时,确定基于高速缓存未命中导入到高速缓存中的高速缓存行的一部分是否与存储在监测列表中的存储器地址重叠。当存在重叠时,对存储器地址处理一个或多个监测操作,并且从高速缓存中逐出导入的高速缓存行。

Patent Agency Ranking