[发明专利]时间旅行调试追踪中的存储器值暴露在审
| 申请号: | 202080027930.X | 申请日: | 2020-04-04 |
| 公开(公告)号: | CN113678110A | 公开(公告)日: | 2021-11-19 |
| 发明(设计)人: | J·莫拉 | 申请(专利权)人: | 微软技术许可有限责任公司 |
| 主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F11/30 |
| 代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 马明月 |
| 地址: | 美国华*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 时间 旅行 调试 追踪 中的 存储器 暴露 | ||
1.一种在包括至少一个处理器的计算机系统处实现的方法,用于生成数据,所述数据用于在追踪回放期间使存储器单元值在先于对应于使所述存储器单元值被记录到追踪中的执行时间的执行时间处被暴露,所述方法包括:
标识记录一个或多个线程的先前执行的追踪内的多个追踪片段,每个追踪片段记录多个可执行指令在所述一个或多个线程的对应线程上的不间断连续执行,所述多个追踪片段至少包括第一追踪片段和第二追踪片段;
至少确定所述多个追踪片段中的部分排序,包括确定所述第一追踪片段可以在被排序在所述第二追踪片段之前;
确定在所述第二追踪片段的回放期间存储器单元值能够在第一执行时间处被暴露,所述第一执行时间在第二执行时间之前,所述第二执行时间对应于使所述存储器单元值在所述追踪记录期间被记录到所述追踪中的事件;以及
生成输出数据,所述输出数据指示在所述第二追踪片段的回放期间所述存储器单元值能够在所述第一执行时间处被暴露。
2.根据权利要求1所述的方法,其中,
确定所述存储器单元值能够在所述第一执行时间处被暴露包括:确定所述存储器单元值与所述第二追踪片段内对所述存储器单元的一个或多个其他存储器访问兼容,并且
确定所述存储器单元值与所述一个或多个其他存储器访问兼容包括确定以下中的至少一项:
来自所述存储器单元的读取是所述第二追踪片段内来自所述存储器单元的第一读取;或者
来自所述存储器单元的所述读取是所述第二追踪片段内对所述存储器单元的后续存储器访问,并且所述存储器单元值与所述第二追踪片段内的所述存储器单元的先前已知值相匹配。
3.根据权利要求1所述的方法,其中所述第一追踪片段由第一测序事件约束,并且所述第二追踪片段由第二测序事件约束,并且其中确定所述第一追踪片段能够被排序在所述第二追踪片段之前是基于确定所述第一测序事件在所述第二测序事件之前发生。
4.根据权利要求1所述的方法,其中所述第一追踪片段记录第一线程的第一可执行指令的执行,并且所述第二追踪片段记录第二线程的第二可执行指令的执行,并且其中所述第一追踪片段被排序在所述第二追踪片段之前,所述方法还包括:确定在追踪回放期间来自所述第二追踪片段的所述存储器单元值能够在所述第一追踪片段之前被暴露。
5.根据权利要求4所述的方法,其中,
确定在追踪回放期间来自所述第二追踪片段的所述存储器单元值能够在所述第一追踪片段之前被暴露包括:确定所述存储器单元值与所述第一片段兼容,并且
确定所述存储器单元值与所述第一片段兼容包括确定以下中的至少一项:
所述第一追踪片段不具有对所述存储器单元的存储器访问;或者
所述第一追踪片段具有对所述存储器单元的一个或多个存储器访问,并且在第一追踪片段的末端处的所述存储器单元的第一值与在所述第二追踪片段的开始处的所述存储器单元的第二值相匹配。
6.根据权利要求1所述的方法,其中所述第一追踪片段记录第一线程的第一可执行指令的执行,并且所述第二追踪片段记录所述第一线程的第二可执行指令的执行,并且其中所述第一追踪片段和所述第二追踪片段由追踪记录中的间隙分离,所述间隙由所述第一追踪片段对非追踪代码的调用引起,所述方法还包括:确定在追踪回放期间来自所述第二追踪片段的所述存储器单元值能够在所述间隙之前被暴露。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080027930.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:保护继电器检查装置
- 下一篇:组合物用于制造发泡制品的用途





