ARM架构kprobe应用及实现分析(2.0 register_kprobe error 38)

本文介绍了当遇到kprobe注册失败并返回错误号38时的解决方案。文章详细列举了必要的kernel配置项,如CONFIG_OPTPROBES=y、CONFIG_KALLSYMS_ALL=y等,并建议检查system.map文件确认register_kprobe函数的存在。

最开始 register_kprobe 的时候,返回错误,一直注册不成功,且返回错误号为38

最后发现是一些kernel编译的配置没有打开导致的.

所以当你编译kernel之前请确保下面选项是打开支持的:

   general setup
        --> kprobes

CONFIG_OPTPROBES=y
CONFIG_PREEMPT=y
CONFIG_OPTPROBES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULES=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_DEBUG_INFO=yAnd one more config flag I needed specific to my platform:

你可以在system.map 文件找查找 是否有register_kprobe 函数,来确定你的编译是否正确。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值