dump_stack 分析使用

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

dump_stack原型:

void dump_stack(void);

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

make menuconfig -> kernel hacking--> kernel debug

2、在函数中使用:

 1 #include <linux/module.h>
 2 #include <linux/init.h>
 3 #include <linux/kprobes.h>
 4 #include <asm/traps.h>
 5  
 6 MODULE_LICENSE("Dual BSD/GPL");
 7   
 8 static int __init hello_init(void)
 9 {
10      printk(KERN_ALERT "dump_stack start\n");
11      dump_stack();
12      printk(KERN_ALERT "dump_stack over\n");
13      return 0;
14  }
15  static void __exit hello_exit(void)
16  {
17       printk(KERN_ALERT "test module\n");
18  }
19  
20 module_init(hello_init);
21 module_exit(hello_exit);

3、需要加入的头文件:

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

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

 1 [ 3719.352022] usb 1-8: new high speed USB device number 11 using ehci_hcd
 2 [ 4266.252826] usb 1-8: USB disconnect, device number 11
 3 [ 5246.942980] dump_stack start
 4 [ 5246.942985] Pid: 3438, comm: insmod Not tainted 3.0.0-21-generic #35-Ubuntu
 5 [ 5246.942987] Call Trace:
 6 [ 5246.942993]  [] hello_init+0x17/0x1000 [hello]
 7 [ 5246.942999]  [] do_one_initcall+0x42/0x180
 8 [ 5246.943003]  [] sys_init_module+0xbe/0x230
 9 [ 5246.943006]  [] system_call_fastpath+0x16/0x1b
10 [ 5246.943008] dump_stack over

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xingoo, 一个梦想做发明家的程序员

网络嗅探器

网络嗅探器:把网卡设置成混杂模式,并可实现对网络上传输的数据包的捕获与分析。 原理:   通常的套接字程序只能响应与自己MAC地址相匹配的 或者是 广播形式发出...

38910
来自专栏吴伟祥

Linux命令缩写英文对照记忆(〇) 转

842
来自专栏wOw的Android小站

[Android][Framework]Provision

Provision的作用很简单,就是一个系统初始化引导程序,源生的Android里面Provision只做了一件事,就是写入一个DEVICE_PROVISION...

2131
来自专栏FreeBuf

SniffAir:无线渗透测试框架

SniffAir是一个开源的无线安全框架,可帮助你轻松解析被动收集的无线数据并发起复杂的无线渗透测试。此外,它还可以处理大型的或多个pcap文件,执行交叉检查和...

842
来自专栏Seebug漏洞平台

花式窃取NetNTLM哈希的方法

原文:https://osandamalith.com/2017/03/24/places-of-interest-in-stealing-netntlm-ha...

3088
来自专栏信安之路

必知必会的安全工具

渗透测试中手工测试固然重要,但是测试工具也是必不可少的,一个好的工具可以让我们在渗透测试中事半功倍,俗话说,工欲善其事必先利其器,所以工具是很重要的,本文就主要...

910
来自专栏pangguoming

Configure Apache Virtual Hosts - CentOS 7

Difficulty: 2 Time: 15 minutes Want to host websites on your server? Using Apach...

3664
来自专栏Kotlin入门系列

win7基础 cmd 查看当前已经启动的服务列表

3196
来自专栏linux驱动个人学习

基于input子系统的sensor驱动调试(二)

继上一篇:https://cloud.tencent.com/developer/article/1054078 一、驱动流程解析: 1、模块加载: 1 st...

5547
来自专栏Hongten

python开发_csv(Comma Separated Values)_逗号分隔值_常用导入导出格式_完整版_博主推荐

====================================================

531

扫码关注云+社区