dump_stack是用来回溯内核运行的信息的,打印内核信息堆栈段;

dump_stack原型:

void dump_stack(void);

1、使用这个功能时需要将内核配置勾选上;

make menuconfig -> kernel hacking--> kernel debug

2、在函数中使用:

 #include <linux/module.h>
#include <linux/init.h>
#include <linux/kprobes.h>
#include <asm/traps.h> MODULE_LICENSE("Dual BSD/GPL"); static int __init hello_init(void)
{
printk(KERN_ALERT "dump_stack start\n");
dump_stack();
printk(KERN_ALERT "dump_stack over\n");
return ;
}
static void __exit hello_exit(void)
{
printk(KERN_ALERT "test module\n");
} module_init(hello_init);
module_exit(hello_exit);

3、需要加入的头文件:

 #include <linux/kprobes.h>
#include <asm/traps.h>

4、得到hello.ko之后,insmod hello.ko,打印信息如下:

 [ 3719.352022] usb -: new high speed USB device number  using ehci_hcd
[ 4266.252826] usb -: USB disconnect, device number
[ 5246.942980] dump_stack start
[ 5246.942985] Pid: , comm: insmod Not tainted 3.0.--generic #-Ubuntu
[ 5246.942987] Call Trace:
[ 5246.942993] [] hello_init+0x17/0x1000 [hello]
[ 5246.942999] [] do_one_initcall+0x42/0x180
[ 5246.943003] [] sys_init_module+0xbe/0x230
[ 5246.943006] [] system_call_fastpath+0x16/0x1b
[ 5246.943008] dump_stack over

在不同环境下,Call Trace也可能被称为Back Trace;

dump_stack 分析使用的更多相关文章

  1. dump_stack 实现分析【转】

    转自:http://kernel.meizu.com/2017/03/18-40-19-dump_stack.html 1 简介 说起 dump_stack() ,相信从事 Linux 内核或者驱动相 ...

  2. linux内核中打印栈回溯信息 - dump_stack()函数分析【转】

    转自:http://blog.csdn.net/jasonchen_gbd/article/details/45585133 版权声明:本文为博主原创文章,转载请附上原博链接.   目录(?)[-] ...

  3. sysfs分析

      Linux设备模型——设备驱动模型和sysfs文件系统解读 内核版本:2.6.30 1. What is sysfs? 个人理解:sysfs向用户空间展示了驱动设备的层次结构.我们都知道设备和对应 ...

  4. 内核对象kobject和sysfs(3)——kobj分析

    内核对象kobject和sysfs(3)--kobj分析 在分析kobj之前,先总结下kobj的功能: 实现结构的动态管理: 实现内核对象到sysfs的映射: 实现自定义属性的管理. 关注一下kobj ...

  5. warn_alloc():page allocation failure问题分析

    关键词:warn_alloc().__GFP_XXX.order.CMA等等. 在内存申请的时候经常会遇到类似“ xxx: page allocation failure: order:10...”类 ...

  6. Linux soft lockup分析

    关键词:watchdog.soft lockup.percpu thread.lockdep等. 近日遇到一个soft lockup问题,打印类似“[ 56.032356] NMI watchdog: ...

  7. dump_stack的简单使用 【转】

    转自:http://blog.chinaunix.net/uid-26403844-id-3361770.html http://blog.csdn.net/ryfjx6/article/detail ...

  8. CentOS 6.4在运行XFS时系统crash的bug分析

    最近有一台CentOS 6.4的服务器发生多次crash,kernel version 是Linux 2.6.32-431.29.2.el6.x86_64.从vmcore-dmesg日志内容及cras ...

  9. [转]Android WiFi 掉线原因分析

    看到一个比较详细的分析wifi断开的文章.收藏一下. 原文: http://blog.csdn.net/chi_wy/article/details/50963279 原因1 .从Log分析来看,这个 ...

随机推荐

  1. String、StringBuilder和StringBuffer类

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  2. Oracle数据库(三)表操作,连接查询,分页

    复制表 --复制表 create table new_table as select * from Product --复制表结构不要数据 在where后面跟一个不成立的条件,就会仅复制表的结构而不复 ...

  3. IX-Protected Dataplane Operating System解读

    一.概述 商业操作系统在应用程序每秒钟需要数百万次操作时才能保持高吞吐量和低(尾)延迟,对于最慢的请求只需几百微秒.通常认为对于高性能网络(小信息的高包率.低延迟)的构建,最好都是在内核之外构建用户态 ...

  4. iOS知识点集合--更改(2)

    3.nsmutablearray *a 如果直接赋值 a = @[@"d",@""]; 这个时候a 是不可变的 字典也是如此 2.如果接口调用错误的话 打印re ...

  5. lograted日志切割脚本

    root@op-testsetup-web3.idc1.yiducloud.cn:/etc/logrotate.d# cat etcd /home/work/docker/logs/etcd/prev ...

  6. 什么是副作用(Side Effect)

    副作用(Side Effect)是指函数或者表达式的行为依赖于外部世界.具体可参照Wiki上的定义,副作用是指 1)函数或者表达式修改了它的SCOPE之外的状态 2)函数或者表达式除了返回语句外还与外 ...

  7. 为了CET-4!

    Directions For tiis part,you are allowed 30 minutes to write an essay.Suppose there are two options ...

  8. 三菱Q系列PLC的智能功能模块程序

    一.模拟量输入模块Q64AD 1.模块开关或者参数设置 1.1I/O分配 1.2开关设置使用通道1,0-5v, 1.3使用GX configurator设置自动刷新PLC设置智能功能模块参数,即将模拟 ...

  9. Linux 学习记录 一(安装、基本文件操作).

         Linux distributions主要分为两大系统,一种是RPM方式安装软件的系统,包括Red Hat,Fedora,SuSE等都是这类:一种则是使用Debian的dpkg方式安装软件的 ...

  10. iOS学习——iOS常用的存储方式

    不管是在iOS还是Android开发过程中,我们都经常性地需要存储一些状态和数据,比如用户对于App的相关设置.需要在本地缓存的数据等等.根据要存储的的数据的大小.存储性质以及存储类型,在iOS和An ...