[发明专利]应用堆栈信息获取方法及装置、堆栈信息解析方法及装置有效
申请号: | 201610891656.6 | 申请日: | 2016-10-11 |
公开(公告)号: | CN107943520B | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 刘华星;李昶博 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F9/30 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 何平;邓云鹏 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 堆栈 信息 获取 方法 装置 解析 | ||
一种应用堆栈信息获取方法及装置、一种堆栈信息解析方法及装置,该应用堆栈信息获取方法包括步骤:获取当前堆栈的内存偏移信息,所述内存偏移信息包括函数地址和PC偏移值,根据获取的内存偏移信息生成内存偏移结构存储文件;获取虚拟内存和磁盘文件的映射关系,根据所述映射关系记录映射信息,生成内存映射结构存储文件,记录的所述映射信息包括虚拟内存地址范围、内存文件偏移量、以及文件路径;将所述内存偏移结构存储文件、所述内存映射结构存储文件进行存储。本发明实施例方案,在获取应用堆栈信息时,可以大大减少存储量,使得堆栈信息占用了尽量少的内存,在应用到应用信息跟踪中时能够以最小的性能损耗获取堆栈的跟踪采样。
技术领域
本发明涉及网络信息处理领域,特别是涉及一种应用堆栈信息获取方法以及一种应用堆栈信息获取装置、一种堆栈信息解析方法以及一种堆栈信息解析装置。
背景技术
目前在需要采集堆栈的信息时,一般都是通过dvm的native函数dvmFillInStackTraceInternal或者系统标准的java函数Throwable::fillInstackTrace来获取堆栈信息,得到的堆栈为相应的堆栈字符串内容。
这种堆栈获取方法可以正确地获取堆栈信息,然而,由于堆栈是显示为纯文本信息,一层堆栈信息平均要在60字节左右,如果该堆栈深度为16层,那么该堆栈占用的内存大小就要到达1k,随着堆栈深度的增加,所占用的内存也会持续增加。
发明内容
基于此,本发明实施例提供一种应用堆栈信息获取方法以及一种应用堆栈信息获取装置、一种堆栈信息解析方法以及一种堆栈信息解析装置,以使得堆栈信息占用尽量少的内存,从而能够在应用到应用信息跟踪中时以最小的性能损耗获取堆栈的跟踪采样。
为达到上述目的,本发明实施例采用以下技术方案:
一种应用堆栈信息获取方法,包括步骤:
获取当前堆栈的内存偏移信息,所述内存偏移信息包括函数地址和PC偏移值,根据获取的内存偏移信息生成内存偏移结构存储文件;
获取虚拟内存和磁盘文件的映射关系,根据所述映射关系记录映射信息,生成内存映射结构存储文件,记录的所述映射信息包括虚拟内存地址范围、内存文件偏移量、以及文件路径;
将所述内存偏移结构存储文件、所述内存映射结构存储文件进行存储。
一种堆栈信息解析方法,包括步骤:
获取记录内存偏移信息的内存偏移结构存储文件、记录映射信息的内存映射结构存储文件,所述内存偏移信息包括函数地址和PC偏移值,所述映射信息包括虚拟内存地址范围、内存文件偏移量、以及文件路径;
获取记录文件符号表结构信息的文件符号表结构文件,所述文件符号表结构信息包括函数代码执行的起始位置、函数信息以及调试信息,所述调试信息包括PC相对起始位置对应的代码行号;
根据所述文件路径从所述文件符号表结构文件中获取对应的文件符号表结构信息,通过所述函数地址、虚拟内存地址范围、内存文件偏移量将所述函数地址转换为磁盘文件地址,并用所述磁盘文件地址在获取的所述文件符号表结构信息中查找到对应的函数信息和调试信息,并根据所述PC偏移值在该调试信息中查找到对应的代码行,获得解析后的堆栈信息。
一种应用堆栈信息获取装置,包括:
内存偏移获取模块,用于获取当前堆栈的内存偏移信息,所述内存偏移信息包括函数地址和PC偏移值,根据获取的内存偏移信息生成内存偏移结构存储文件;
内存映射获取模块,用于获取虚拟内存和磁盘文件的映射关系,根据所述映射关系记录映射信息,生成内存映射结构存储文件,记录的所述映射信息包括虚拟内存地址范围、内存文件偏移量、以及文件路径;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610891656.6/2.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置