[发明专利]使用可修改的快照定义来对执行代码拍摄快照在审
申请号: | 201480046188.1 | 申请日: | 2014-01-16 |
公开(公告)号: | CN105723346A | 公开(公告)日: | 2016-06-29 |
发明(设计)人: | C·D·加勒特;A·古纳雷斯 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/44 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 胡利鸣 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 修改 快照 定义 执行 代码 拍摄 | ||
1.一种系统,包括:
至少一个处理器;
在所述至少一个处理器上执行的执行环境,所述执行环境执行应用;
与所述执行环境一起操作的快照管理器,所述快照管理器:
接收快照定义,所述快照定义包括条件定义和数据集定义;
标识针对快照的第一条件,所述第一条件匹配在所述快照定义中的所述条件 定义;
当所述第一条件被满足时,致使所述应用暂停执行;
在所述应用被暂停时,收集第一数据集;
在所述第一数据集被收集后,致使所述应用继续执行;以及
将所述第一数据集存储为第一快照实例。
2.如权利要求1所述的系统,其特征在于,所述快照管理器还:
标识所述第一条件的第二实例;
当所述第一条件的所述第二实例被满足时,致使所述应用暂停执行;
当所述应用在所述第二实例期间被暂停时,收集第二数据集;
在所述第二数据集被收集后,致使所述应用继续执行;以及
将所述第二数据集存储为第二快照实例。
3.如权利要求2所述的系统,其特征在于,所述第一快照实例和所述第二 快照实例是从所述应用的同一运行中收集的。
4.如权利要求3所述的方法,其特征在于,所述第一数据集包括含有下列 各项的组中的至少一项:
调用栈;
局部变量值;
全局变量值;以及
应用源代码。
5.如权利要求2所述的系统,其特征在于,所述第一条件是由所述应用内 的函数调用来定义的。
6.如权利要求5所述的系统,其特征在于,所述函数调用由程序员添加。
7.如权利要求5所述的系统,其特征在于,所述函数调用由所述快照管理 器添加。
8.如权利要求7所述的系统,其特征在于,所述函数调用在编译之前由所 述快照管理器添加。
9.如权利要求7所述的系统,其特征在于,所述函数调用在编译之后由所 述快照管理器添加。
10.如权利要求7所述的系统,其特征在于,所述函数调用被调试环境内的 快照设置添加。
11.如权利要求2所述的系统,其特征在于,所述第一条件包括事件描述符。
12.如权利要求11所述的系统,其特征在于,所述事件描述符是针对输入/ 输出事件的描述符。
13.如权利要求11所述的系统,其特征在于,所述事件描述符包括表达式, 所述表达式包括对所述应用内的变量的引用。
14.如权利要求13所述的系统,其特征在于,所述变量是局部变量。
15.如权利要求2所述的系统,其特征在于,所述描述符包括设备状态描述 符。
16.如权利要求2所述的系统,其特征在于,所述第一数据集是通过遍历调 用栈并收集所述调用栈中一个帧处的至少一个局部变量来被收集的。
17.如权利要求1所述的系统,其特征在于,所述执行环境是进程虚拟机。
18.如权利要求1所述的系统,其特征在于,所述执行环境是操作系统。
19.一种在至少一个处理器上执行的方法,所述方法包括:执行应用;
在所述应用正在执行时,确定条件的第一实例已经被满足并致使所述应用暂 停执行;
在所述应用被暂停时,收集第一数据集;
存储所述第一数据集;以及
致使所述应用继续执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480046188.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:消音壁
- 下一篇:应用、外部依存关系、和关联的动态发现