[发明专利]使用保留标记字段位的基于高速缓存的跟踪重放断点在审
申请号: | 201980043057.0 | 申请日: | 2019-06-18 |
公开(公告)号: | CN112368684A | 公开(公告)日: | 2021-02-12 |
发明(设计)人: | J·莫拉 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F12/126;G06F12/0802 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 黄倩 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 保留 标记 字段 基于 高速缓存 跟踪 重放 断点 | ||
经由高速缓存执行断点检测包括:检测存储器访问的出现,以及标识高速缓存的任何高速缓存行是否与关联于存储器访问的地址相匹配。在确实有高速缓存行与关联于存储器访问的地址相匹配时,断点没有被遇到。在没有高速缓存行与关联于存储器访问的地址相匹配时,实施例标识是否有任何高速缓存行在一个或多个标志位被忽略时与关联于存储器访问的地址相匹配。在确实有高速缓存行在一个或多个标志位被忽略时与关联于存储器访问的地址相匹配时,实施例执行断点是否被遇到的检查。否则,实施例处理高速缓存未命中。
背景技术
当在软件应用的开发期间编写代码时,开发者通常花费大量时间“调试”代码以找到代码中的运行时错误。在这样做时,开发者可以采取若干方法来对源代码缺陷(bug)进行再现和本地化,诸如基于不同输入来观察程序的行为、插入调试代码(例如,打印变量值、追踪执行的分支等)、暂时移除代码部分等。追踪运行时错误以查明代码缺陷可能会占用应用开发时间的很大一部分。
许多类型的调试应用(“调试器”)已经被开发以便协助开发者进行代码调试过程。这些工具使开发者能够跟踪、可视化和改变计算机代码的执行。例如,调试器可以将代码指令的执行可视化、可以在代码执行期间的各个时间呈现变量值、可以使开发者能够改变代码执行路径、和/或可以使开发者能够在感兴趣的代码元素上设置“断点”和/或“观察点”(当在执行期间到达时,其导致代码的执行被暂停)等等。通常,“断点”是指存储可执行代码的指定部分(例如,一行代码、变量定义、函数定义等)的存储器位置,而“观察点”是指存储数据的存储器位置(例如,存储变量、常量、数据结构等的值的存储器位置)。为了简化起见,术语“断点”的使用是指断点和观察点两者。
一种新兴形式的调试应用启用“时间旅行”、“反向”或“历史”调试,其中程序的执行被跟踪软件和/或硬件记录/跟踪到一个或多个跟踪文件中,然后该一个或多个跟踪文件可以被用来稍后重放程序的执行以用于进行前向和后向分析。例如,“时间旅行”调试器可以使开发者设置前向断点(像常规调试器那样)以及反向断点。
实现“时间旅行”调试器中的一个挑战涉及如何以灵活和高效的方式检测在重放跟踪文件期间何时遇到了感兴趣的存储器地址(例如,对应于断点)。已经被探索的一种用于在重放期间追踪感兴趣的存储器地址的机制是使用处理器实现的硬件断点。虽然性能出色,但是使用硬件断点的缺点是严重限制了可以被并发监视的存储器地址的数目。例如,INTEL x86架构仅提供了四个调试寄存器(即DR0至DR3),以用于存储要监视的存储器地址。使用硬件断点还具有将调试器实现固有地绑定到特定支持的硬件的缺点(例如,通过依赖x86调试寄存器)。
已经被探索的另一种机制是使用软件断点,其中访问存储器的每个被跟踪的操作(例如,对存储数据的存储器的读取或写入,或从存储程序代码的存储器执行的读取/取得)被插装有附加代码指令,附加代码指令检查该访问是否针对的是感兴趣的存储器地址。但是,插装具有以下严重的缺点:使不管该存储器访问是否实际上对应于断点,都要对每个存储器访问执行针对断点出现的检查。在许多环境中,被插装的代码指令的执行导致对于每个存储器访问使用数十至数百个附加的处理器周期,这对人类用户可感知的重放性能产生重大不利影响。
发明人提出的在先解决方案通过使用高速缓存(例如,硬件或仿真处理器的高速缓存或一些其他高速缓存存储器结构)作为断点检测的一部分,来解决前述挑战。与插装相比,这些解决方案极大地限制了执行断点检查所需的处理器周期的数目,并且在2017年01月13日提交的、题目为“EFFICIENT BREAKPOINT DETECTIONS VIA CACHES”的美国专利申请序列号15/405849中被描述。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980043057.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:火灾探测装置
- 下一篇:针对紧急服务附接装置时的UE行为