linux kernel module打印指定进程栈信息

本文介绍了如何在Linux内核模块中使用show_stack()函数来显示指定进程的栈信息。由于直接调用show_stack()会导致问题,因此需要从/proc/kallsyms获取其地址。通过切换文件系统模式以允许内核模块访问用户空间缓存,并按行处理数据,最终成功实现打印栈信息。与dump_stack()的输出进行了比较。
摘要由CSDN通过智能技术生成

一、 方法

使用接口

sched.h:extern void show_stack(structtask_struct *task, unsigned long *sp);

二、问题

1)不能直接使用show_stack()


2)应用的时候,无法插入模块,报Unknown symbol in module


三、解决

1)  在/proc/kallsyms可以找到show_stack()的函数地址


2)  所以要做得就是在内核模块里取得show_stack()的函

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值