[发明专利]一种堆栈还原方法和计算机系统有效
申请号: | 201310486069.5 | 申请日: | 2013-10-16 |
公开(公告)号: | CN104572046B | 公开(公告)日: | 2019-01-11 |
发明(设计)人: | 龙磊;邱金涛 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F11/36 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 贾允;肖丁 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存地址 函数调用堆栈 应用程序 偏移量 计算机系统 还原 堆栈 计算机技术领域 层级关系 调用堆栈 关系确定 函数信息 输出函数 符号化 调试 应用 | ||
本发明实施例公开了堆栈还原方法和计算机系统,应用于计算机技术领域。当在运行应用程序时,计算机系统会获取应用程序对应的各个函数的名称和起始内存地址的对应关系;并获取应用程序的函数调用堆栈中第一函数的函数内存地址;然后根据函数内存地址,及与函数内存地址最近的起始内存地址,确定对应第一函数的偏移量,并根据对应关系确定第一函数的名称;最后输出函数调用堆栈的信息,函数调用堆栈的信息中包括确定的第一函数的名称和偏移量。这样可以将采用现有的方法获取的函数调用堆栈的信息中,未被符号化的函数的名称和偏移量还原出来,这样用户就可以知道函数调用堆栈中各个函数之间的层级关系,从而为用户的调试提供完整的函数信息。
技术领域
本发明涉及计算机技术领域,特别涉及堆栈还原方法和计算机系统。
背景技术
函数调用堆栈是一个应用程序在运行的过程中,该应用程序的某个线程中按一定顺序调用的函数信息,通过还原堆栈即可知道该应用程序的某个线程中调用的函数信息包括函数名和位置信息等,这样应用程序的开发用户就可以知道该应用程序的信息,从而可以对该应用程序进行调试等操作。但是现有的堆栈还原方法中,有些函数比如一个应用程序特有的函数的信息并不能完全被还原出来,一般只还原出这些函数的内存地址,这样应用程序的开发用户就不能很好的对应用程序进行调试。
发明内容
本发明实施例提供堆栈还原方法和计算机系统,使得被调用的所有函数的信息都被还原出来,为用户的调试提供完整的函数信息。
本发明实施例提供一种堆栈还原方法,包括:
当计算机系统在运行应用程序时,获取所述应用程序对应的各个函数的名称和起始内存地址的对应关系;
获取所述应用程序的函数调用堆栈中第一函数的函数内存地址;
根据所述函数内存地址,及与所述函数内存地址最近的起始内存地址,确定对应第一函数的偏移量,并根据所述对应关系确定所述第一函数的名称;
输出所述函数调用堆栈的信息,所述函数调用堆栈的信息中包括所述确定的第一函数的名称和偏移量。
本发明实施例提供一种计算机系统,包括:
对应关系获取单元,用于当计算机系统在运行应用程序时,获取所述应用程序对应的各个函数的名称和起始内存地址的对应关系;
内存地址获取单元,用于获取所述应用程序的函数调用堆栈中第一函数的函数内存地址;
函数信息确定单元,用于根据所述函数内存地址,及与所述函数内存地址最近的起始内存地址,确定对应第一函数的偏移量,并根据所述对应关系确定所述第一函数的名称;
输出单元,用于输出所述函数调用堆栈的信息,所述函数调用堆栈的信息中包括所述确定的第一函数的名称和偏移量。
可见,本实施例的方法中,当计算机系统在运行应用程序时,该计算机系统会获取应用程序对应的各个函数的名称和起始内存地址的对应关系;并获取应用程序的函数调用堆栈中第一函数的函数内存地址;然后根据函数内存地址,及与函数内存地址最近的起始内存地址,确定对应第一函数的偏移量,并根据对应关系确定第一函数的名称;最后输出函数调用堆栈的信息,函数调用堆栈的信息中包括确定的第一函数的名称和偏移量。这样可以将采用现有的方法获取的函数调用堆栈的信息中,未被符号化的函数的名称和偏移量还原出来,这样用户就可以知道函数调用堆栈中各个函数之间的层级关系,从而为用户的调试提供完整的函数信息。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310486069.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种解锁屏幕的方法和装置
- 下一篇:一种基于UEFI的身份标识生成系统和方法