称
本文讲述了如何利用 linux 系统调试,打印函数名称的方法。 此需求在程序调试和程序改进过程中被用作定位代码错误的重要方式,特别是在C/C++等语言应用时更是能够显示出很大作用。
在Linux系统中调试的首要方法就是使用 gdb 调试器,该调试器可以提供多种功能,从而实现用户所需的功能。首先,要获取程序运行时的函数名称,需要在程序源文件中插入如下代码:
#include
static void __cyg_profile_FUNC_enter (void *func, void *caller)
{
printf("ENTER: %p\n", func);
}
static void __cyg_profile_func_exit (void *func, void *caller)
{
printf("EXIT: %p\n", func);
}
在源文件中增加上述代码后,在进行编译时需要增加链接选项 –finstrument-functions,编译指令如下:
gcc –finstrument-functions source code.c -o program
编译好之后,可以运行gdb来查看插入的函数名;
gdb program
(gdb) start
再查看函数名称:
(gdb) info func
可以使用info func 来打印出程序调用的全部函数名称,包括本次运行时进入及离开的函数。可以利用此方法来定位所有函数的调用,有助于定位程序中出现的错误。
总之,Linux系统通过gdb及以上代码插入等方法,可以将源程序增强,实现有关程序调试能力,并打印出相应的函数名称,从而快速定位问题代码并实现更高的调试效率。
成都创新互联科技公司主营:网站设计、网站建设、小程序制作、成都软件开发、网页设计、微信开发、成都小程序开发、网站制作、网站开发等业务,是专业的成都做小程序公司、成都网站建设公司、成都做网站的公司。创新互联公司集小程序制作创意,网站制作策划,画册、网页、VI设计,网站、软件、微信、小程序开发于一体。
标题名称:利用Linux系统调试:打印函数名(linux打印函数名)
网页地址:http://www.shufengxianlan.com/qtweb/news29/426279.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联