浅谈在linux kernel中打印函数调用的堆栈的方法

 更新时间:2016年12月24日 10:15:08   投稿:jingxian  
下面小编就为大家带来一篇浅谈在linux kernel中打印函数调用的堆栈的方法。小编觉得挺不错的。现在就分享给大家。也给大家做个参考。一起跟随小编过来看看吧

在Linux内核调试中,经常用到的打印函数调用堆栈的方法非常简单,只需在需要查看堆栈的函数中加入:

dump_stack(); 或 __backtrace(); 即可

dump_stack()在~/kernel/ lib/Dump_stack.c中定义

void dump_stack(void)
{
 printk(KERN_NOTICE
 "This architecture does not implement dump_stack()/n");
}
__backtrace()的定义在~/kernel/arch/arm/lib/backtrace.S中
 
ENTRY(__backtrace)
 mov r1, #0x10
 mov r0, fp

在linux应用程序调试中,使用的方法是:

backtrace
backtrace_symbols

可以在函数中加入如下代码:

void *bt[20]; 
 char **strings; 
 size_t sz;
 sz = backtrace(bt, 20); 
 strings = backtrace_symbols(bt, sz); 
    for(i = 0; i < sz; ++i) 
        fprintf(stderr, "%s/n", strings[i]);

以上就是小编为大家带来的浅谈在linux kernel中打印函数调用的堆栈的方法全部内容了,希望大家多多支持脚本之家~

相关文章

  • Linux安装PHP MongoDB驱动

    Linux安装PHP MongoDB驱动

    在php中使用mongodb你必须使用 mongodb 的 php驱动。本文是小编在部署生产环境时候记录的笔记,特此分享到脚本之家平台供大家参考
    2016-11-11
  • VSCode连接实验室服务器Xshell,Xftp向服务器传输文件的方法(win10)

    VSCode连接实验室服务器Xshell,Xftp向服务器传输文件的方法(win10)

    这篇文章主要介绍了VSCode连接实验室服务器,Xshell,Xftp向服务器传输文件(win10),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • centos8安装图解(超详细教程)

    centos8安装图解(超详细教程)

    CentOS 完全遵守 Red Hat 的再发行政策,并且致力与上游产品在功能上完全兼容。这篇文章主要介绍了centos8安装图解,最详细的一篇教程,本文图文子相结合给大家介绍的非常详细,需要的朋友可以参考下
    2019-10-10
  • linux如何将环境文件或者文件夹打包

    linux如何将环境文件或者文件夹打包

    这篇文章主要介绍了linux如何将环境文件或者文件夹打包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • linux系统重装导致免密码key登录失败的解决方法

    linux系统重装导致免密码key登录失败的解决方法

    下面小编就为大家带来一篇linux系统重装导致免密码key登录失败的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 如何搭建自己CDN服务器(LuManager)

    如何搭建自己CDN服务器(LuManager)

    这篇文章主要介绍了如何搭建自己CDN服务器(LuManager),需要的朋友可以参考下
    2016-04-04
  • Linux下如何查看版本信息的方法步骤

    Linux下如何查看版本信息的方法步骤

    这篇文章主要介绍了Linux下如何查看版本信息的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Linux 的cp命令及示例详解

    Linux 的cp命令及示例详解

    本篇文章主要介绍了Linux 的cp命令详解, cp指令用于复制文件或目录,有兴趣的可以了解一下。
    2016-11-11
  • 详解Linux time 命令的使用

    详解Linux time 命令的使用

    这篇文章主要介绍了详解Linux time 命令的使用,帮助大家更好的理解和学习linux,感兴趣的朋友可以了解下
    2020-08-08
  • Ubuntu20的tzselect设置时间失效的问题,树莓派服务器(推荐)

    Ubuntu20的tzselect设置时间失效的问题,树莓派服务器(推荐)

    这篇文章主要介绍了Ubuntu20的tzselect设置时间失效的问题,树莓派服务器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05

最新评论