[发明专利]应用堆栈信息获取方法及装置、堆栈信息解析方法及装置有效
申请号: | 201610891656.6 | 申请日: | 2016-10-11 |
公开(公告)号: | CN107943520B | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 刘华星;李昶博 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F9/30 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 何平;邓云鹏 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 堆栈 信息 获取 方法 装置 解析 | ||
1.一种应用堆栈信息获取方法,其特征在于,包括步骤:
获取当前堆栈的内存偏移信息,所述内存偏移信息包括函数地址和PC偏移值,根据获取的内存偏移信息生成内存偏移结构存储文件;
获取虚拟内存和磁盘文件的映射关系,根据所述映射关系记录映射信息,生成内存映射结构存储文件,记录的所述映射信息包括虚拟内存地址范围、内存文件偏移量、以及文件路径;
将所述内存偏移结构存储文件、所述内存映射结构存储文件进行存储。
2.根据权利要求1所述的应用堆栈信息获取方法,其特征在于,包括下述各项中的至少一项:
记录的所述映射信息还包括文件节点号;
在堆栈信息采集结束时,采集满足预设条件的dex文件的映射数据,从所述映射数据中获得并记录所述映射信息。
3.根据权利要求1所述的应用堆栈信息获取方法,其特征在于,包括下述各项中的至少一项:
从获取堆栈信息时建立的stackInfo数组中获取所述PC偏移值;将获取堆栈信息时建立的stackInfo数组的method指针指向的Method类的结构类型中的insns的值,确定为所述函数地址;
将所述内存偏移结构存储文件、所述内存映射结构存储文件压缩后进行存储;
将存储的所述内存偏移结构存储文件、所述内存映射结构存储文件向后台服务器发送,由后台服务器根据所述内存偏移结构存储文件、所述内存映射结构存储文件进行堆栈信息解析。
4.一种堆栈信息解析方法,其特征在于,包括步骤:
获取记录内存偏移信息的内存偏移结构存储文件、记录映射信息的内存映射结构存储文件,所述内存偏移信息包括函数地址和PC偏移值,所述映射信息包括虚拟内存地址范围、内存文件偏移量、以及文件路径;
获取记录文件符号表结构信息的文件符号表结构文件,所述文件符号表结构信息包括函数代码执行的起始位置、函数信息以及调试信息,所述调试信息包括PC相对起始位置对应的代码行号;
根据所述文件路径从所述文件符号表结构文件中获取对应的文件符号表结构信息,通过所述函数地址、虚拟内存地址范围、内存文件偏移量将所述函数地址转换为磁盘文件地址,并用所述磁盘文件地址在获取的所述文件符号表结构信息中查找到对应的函数信息和调试信息,并根据所述PC偏移值在该调试信息中查找到对应的代码行,获得解析后的堆栈信息。
5.根据权利要求4所述的堆栈信息解析方法,其特征在于:包括下述各项中的至少一项:
所述映射信息还包括文件节点号;在根据所述文件路径从所述文件符号表结构文件中获取对应的文件符号表结构信息时,结合所述文件节点号获取对应的文件符号表结构信息;
所述函数信息包括文件名、类名、函数名;
从前端应用终端接收获得所述内存偏移结构存储文件、所述内存映射结构存储文件。
6.一种应用堆栈信息获取装置,其特征在于,包括:
内存偏移获取模块,用于获取当前堆栈的内存偏移信息,所述内存偏移信息包括函数地址和PC偏移值,根据获取的内存偏移信息生成内存偏移结构存储文件;
内存映射获取模块,用于获取虚拟内存和磁盘文件的映射关系,根据所述映射关系记录映射信息,生成内存映射结构存储文件,记录的所述映射信息包括虚拟内存地址范围、内存文件偏移量、以及文件路径;
存储模块,用于将所述内存偏移结构存储文件、所述内存映射结构存储文件进行存储。
7.根据权利要求6所述的应用堆栈信息获取装置,其特征在于,包括下述各项中的至少一项:
记录的所述映射信息还包括文件节点号;
所述内存映射获取模块在堆栈信息采集结束时,采集满足预设条件的dex文件的映射数据,从所述映射数据中获得并记录所述映射信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610891656.6/1.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置