[发明专利]闭包对象的分析方法、装置、电子设备及计算机可读介质在审
| 申请号: | 202010824242.8 | 申请日: | 2020-08-17 |
| 公开(公告)号: | CN111782555A | 公开(公告)日: | 2020-10-16 |
| 发明(设计)人: | 陈灼林;骆归 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 王辉;阚梓瑄 |
| 地址: | 310052 浙江省*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 对象 分析 方法 装置 电子设备 计算机 可读 介质 | ||
1.一种闭包对象的分析方法,其特征在于,包括:
确定闭包对象的内存地址;
解析所述闭包对象的内存布局结构,并根据所述闭包对象的内存地址和所述内存布局结构,确定所述闭包对象的闭包结构体中的外部对象描述变量;
根据所述闭包结构体中的外部对象描述变量,确定所述闭包对象所引用外部对象的外部对象指针对应的内存地址偏移;
根据所述外部对象指针对应的内存地址偏移确定所述闭包对象所引用的外部对象,以及所述外部对象的引用类型和对象描述信息。
2.根据权利要求1所述的闭包对象的分析方法,其特征在于,所述根据所述闭包对象的内存地址和所述内存布局结构,确定所述闭包对象的闭包结构体中的外部对象描述变量,包括:
通过所述闭包对象的内存布局结构获取所述闭包对象的对象描述标识;
根据所述闭包对象的内存地址确定所述闭包对象的闭包结构体中的第一结构体成员变量;
根据所述闭包对象的第一结构体成员变量和所述对象描述标识,确定所述闭包对象的闭包结构体中的第二结构体成员变量,其中,所述第二结构体成员变量中包括所述外部对象的描述信息;
根据所述第二结构体成员变量得到所述闭包对象的闭包结构体中的外部对象描述变量。
3.根据权利要求2所述的闭包对象的分析方法,其特征在于,所述根据所述闭包对象的第一结构体成员变量和所述对象描述标识,确定所述闭包对象的闭包结构体中的第二结构体成员变量,包括:
根据所述对象描述标识判断所述闭包对象的闭包结构体中是否存在所述闭包对象的函数签名;
若所述闭包对象的闭包结构体中存在所述闭包对象的函数签名,则根据所述第一结构体成员变量和第一预设地址偏移确定所述第二结构体成员变量;
若所述闭包对象的闭包结构体中不存在所述闭包对象的函数签名,则根据所述第一结构体成员变量和第二预设地址偏移确定所述第二结构体成员变量。
4.根据权利要求3所述的闭包对象的分析方法,其特征在于,所述方法还包括:
若所述闭包对象的闭包结构体中存在所述闭包对象的函数签名,则从所述第二结构体成员变量中获取函数签名成员变量;
从所述函数签名成员变量中获取预设签名长度的字符串,作为所述闭包对象的函数签名。
5.根据权利要求1所述的闭包对象的分析方法,其特征在于,所述根据所述闭包结构体中的外部对象描述变量,确定所述闭包对象所引用外部对象的外部对象指针对应的内存地址偏移,包括:
根据所述外部对象描述变量确定所述闭包对象所引用的外部对象的布局描述格式;
根据所述外部对象的布局描述格式和所述外部对象描述变量确定各个引用类型的所述外部对象的引用指针数量;
根据所述引用指针数量确定各个引用类型的所述外部对象的外部对象指针对应的内存地址偏移。
6.根据权利要求5所述的闭包对象的分析方法,其特征在于,所述布局描述格式包括压缩型布局描述格式,所述根据所述外部对象的布局描述格式和所述外部对象描述变量确定各个引用类型的所述外部对象的引用指针数量,包括:
将所述外部对象描述变量中的第一对象字符确定为所述外部对象中强引用类型的引用指针数量;
将所述外部对象描述变量中的第二对象字符确定为所述外部对象中值引用类型的引用指针数量;
将所述外部对象描述变量中的第三对象字符确定为所述外部对象中弱引用类型的引用指针数量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010824242.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种能在栏杆上固定的辅助上楼梯行李箱
- 下一篇:一种便于移动的路面修补装置





