[发明专利]本机堆分配的运行时类型标识有效
| 申请号: | 201210380865.6 | 申请日: | 2012-10-09 | 
| 公开(公告)号: | CN103034484A | 公开(公告)日: | 2013-04-10 | 
| 发明(设计)人: | C·施米希;A·R·鲁滨逊 | 申请(专利权)人: | 微软公司 | 
| 主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F12/02;G06F11/14 | 
| 代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 蔡悦 | 
| 地址: | 美国华*** | 国省代码: | 美国;US | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 分配 运行 类型 标识 | ||
1.一种系统,包括:
计算设备的至少一个处理器;
所述计算设备的存储器;以及
加载到所述存储器中的至少一个模块,所述模块使所述至少一个处理器:
响应于接收对堆快照的请求,通过以下步骤提供本机语言程序的存储器分配统计:
接收将所述本机语言程序的二进制文件中的指令的相对虚拟地址映射到用户类型的信息,所述指令在被执行时请求存储器分配;
将进程中执行的指令的虚拟存储器地址映射到所述指令所请求的存储器分配的实例的地址;
将所述指令的虚拟存储器地址匹配于所述指令的对应的相对虚拟地址;
将被映射到对应的相对虚拟地址的用户类型分配给所述指令的虚拟存储器地址;以及
聚集用户类型实例计数和大小。
2.如权利要求1所述的系统,其特征在于,还包括:
加载到所述存储器中的至少一个模块,所述模块使所述至少一个处理器:
通过以下步骤显示引用图:
扫描所述进程的进程堆以查找指针大小的字段的实例;
移除非指针的指针大小的字段;以及
显示所述引用图中的存储器分配实例之间的关系。
3.如权利要求1所述的系统,其特征在于,还包括:
加载到所述存储器中的至少一个模块,所述模块使所述至少一个处理器:
在编译期间将所述本机语言程序的二进制文件中的指令的相对虚拟地址映射到所述用户类型。
4.如权利要求2所述的系统,其特征在于,在编译期间生成的符号调试信息提供实例的布局,其中所述布局被用于移除被记录的指针大小的、但不是指针的字段。
5.如权利要求2所述的系统,其特征在于,用户类型和进程堆信息被用于计算存储器分配的大小并聚集用户类型实例计数和大小。
6.一种方法,包括:
将本机语言程序的指令的相对虚拟地址映射到用户类型,所述指令调用存储器分配函数;
将追踪模块插入目标进程,所述目标进程在计算设备的处理器上执行所述指令;
截取对所述存储器分配函数的调用并记录所述存储器分配函数的返回地址;
记录由所述存储器分配函数在存储器中分配的实例的地址;
将所述返回地址转换成对应的相对虚拟地址;
将所记录的返回地址分配给所述用户类型;以及
提供聚集的存储器分配的大小以及用户类型实例计数和大小。
7.如权利要求6所述的方法,其特征在于,还包括:
通过以下步骤显示引用图:
扫描所述实例的进程堆以查找指针大小的字段的实例;
移除非指针的指针大小的字段;以及
显示所述引用图中的实例之间的关系。
8.如权利要求6所述的方法,其特征在于,通过走查抽象语法树以及将相对虚拟地址/用户类型映射信息写入与编译期间生成的静态调试文件分开的文件中,所述指令的相对虚拟地址到用户类型的映射与编译分开地进行。
9.如权利要求6所述的方法,其特征在于,存储器分配和用户类型实例计数和大小按照类型、模块、源文件、名字空间或类名来提供。
10.一种包括当执行时使计算设备的至少一个处理器执行下列操作的计算机可执行指令的计算机可读存储介质:
接收静态调试信息,所述静态调试信息包括将本机程序的二进制文件的指令的相对虚拟地址映射到与所述指令相关联的用户类型的表,所述指令在执行时请求存储器分配;
在进程中执行所述本机程序;
将所述进程的进程堆中的指令的虚拟存储器地址映射到所述存储器分配的实例的地址;
将所述指令的虚拟存储器地址匹配于所述指令的对应的相对虚拟地址;
将被映射到对应的相对虚拟地址的用户类型分配给所述指令的虚拟地址;
响应于接收对进程堆快照的请求,通过以下步骤创建引用图:
扫描进程堆以查找指针大小的字段的实例;
移除非指针的指针大小的字段;以及
显示所述引用图,聚集用户类型实例计数和大小。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210380865.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可集水的矿泉水瓶
 - 下一篇:自行车用车灯
 





