[发明专利]获取程序运行信息的方法及系统有效

专利信息
申请号: 201210151244.0 申请日: 2012-05-16
公开(公告)号: CN103425565A 公开(公告)日: 2013-12-04
发明(设计)人: 董航 申请(专利权)人: 腾讯科技(深圳)有限公司
主分类号: G06F11/32 分类号: G06F11/32
代理公司: 北京德琦知识产权代理有限公司 11018 代理人: 牛峥;王丽琴
地址: 518044 广东省深圳*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 获取 程序 运行 信息 方法 系统
【说明书】:

技术领域

发明涉及程序运行领域,尤其涉及获取程序运行信息的方法及系统。

背景技术

程序运行时会调用多个函数。实践中,常需要获知程序调用了哪些函数,以及调用函数的运行流程。

目前,只有部分高级平台基于Addr2line工具能获取到程序运行信息,且最终获取的是程序运行过程中调用的函数的函数名。Addr2line工具是GNU Binutils中的一个工具,GNU Binutils为一整套编程语言工具程式,是一组二进制工具集。在特定的情况下,Addr2line工具可以将指令的地址和可执行映象转换成文件名和函数名。Addr2line工具的安装复杂,使用环境比较局限,不能用于通用的情况。

由以上可见,现有获取程序运行信息的方法比较局限,且只能获取程序运行中调用的函数名;如果能获取程序运行过程中函数调用的图形化流程情况,将更加直观,但目前还没有这方面的技术。

发明内容

本发明提供了一种获取程序运行信息的方法,该方法能够以图形方式直观地获得程序运行信息。

本发明提供了一种获取程序运行信息的系统,该系统能够以图形方式直观地获得程序运行信息。

一种获取程序运行信息的方法,该方法包括:

获取程序生成的地址文件,所述地址文件包含程序运行中调用的各函数的函数地址,并获取程序的MAP文件;

由地址文件中包含的函数地址,从MAP文件中查询对应的函数名;

由地址文件中的函数地址写入顺序确定函数调用顺序,将函数名按照函数调用顺序输入DOT文件,生成调用函数的运行流程图。

一种获取程序运行信息的系统,该系统包括获取单元、查询单元和流程图生成单元;

所述获取单元,用于获取程序生成的地址文件,所述地址文件包含程序运行中调用的各函数的函数地址,传送给所述查询单元和所述流程图生成单元;并获取程序的MAP文件,传送给所述查询单元;

所述查询单元,用于由地址文件中包含的函数地址,从MAP文件中查询对应的函数名,传送给所述流程图生成单元;

所述流程图生成单元,用于由地址文件中的函数地址写入顺序确定函数调用顺序,将函数名按照函数调用顺序输入DOT文件,生成调用函数的运行流程图。

从上述方案可以看出,本发明获取程序生成的地址文件后,结合程序的MAP文件查询出函数名,而后,由地址文件中的函数地址写入顺序确定函数调用顺序,将函数名按照函数调用顺序输入DOT文件,生成调用函数的运行流程图。这样,实现了以图形方式直观地获得程序运行信息;并且,本发明基于MAP文件获得程序运行过程中调用的函数的函数名,而几乎所有系统平台对应的编译器都能生成程序的MAP文件,从而,使本发明方案的应用范围更广泛。

附图说明

图1为本发明获取程序运行信息的方法示意性流程图;

图2为本发明获取程序运行信息的方法流程图实例;

图3为本发明生成的地址文件实例;

图4为依照图3的地址文件生成的运行流程图;

图5为本发明获取程序运行信息的系统结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。

本发明先基于MAP文件获得程序运行过程中调用的函数的函数名,再输入DOT文件,生成调用函数的运行流程图。参见图1,为本发明获取程序运行信息的方法示意性流程图,其包括以下步骤:

步骤101,获取程序生成的地址文件,所述地址文件包含程序运行中调用的各函数的函数地址,并获取程序的MAP文件。

程序运行之前,需获取程序的安装包,对安装包进行安装;具体地,可以从网络侧服务器下载安装包,也可以接收其他网络节点传输的安装包。安装包由编译器生成,编译器是将高级语言编译成机器语言的程序。对于不同的系统平台,需要采用不同的编译器对程序进行编译,以生成能在相应系统平台执行的安装包;例如,对于安卓系统平台,服务器需要采用安卓系统平台对应的编译器对程序进行编译,以生成能在安卓系统平台执行的安装包。而几乎所有系统平台对应的编译器都支持程序编译后生成MAP文件,MAP文件用以保存程序全局符号、源文件和代码行号等信息,其中包括函数地址与函数名之间的映射关系。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210151244.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top