LinuxDev 板


LINE

有个问题想请教大家,我把问题简化如下: 使用的kernel 版本: 2.6.29-rc3 hello module里面有全域变数victor_global_var,载入kernel後 透过指令grep 即可知道victor_global_var的位址 # grep victor_global_var /proc/kallsyms 现在换kernel版本 2.6.32 发现/proc/kallsyms内不会显示 victor_global_var的位址导致无法取得 victor_global_var的位址,透过指令 # grep hello /proc/kallsyms 发现kallsyms只会显示函式的位址,但不会显示资料结构、全域变数等等的资讯 请问有什麽方法可以使2.6.32的kallsyms显示module的变数位址?还是有 其他更好的方式可以得知module内的全域变数位址?? 谢谢大家! ================================================================= hello.c -------------------------- #include <linux/module.h> #include <linux/init.h> #include "hello.h" MODULE_LICENSE("Dual BSD/GPL"); int victor_global_var=1; static int hello_init(void) { int victor_local_var=2; printk(KERN_ALERT "driver loaded\n"); victor_local_var=3; victor_global_var=5; printk("##victor_global_var=%d\n",victor_global_var); return 0; } static void hello_exit(void) { printk(KERN_ALERT "driver unloaded\n"); } module_init(hello_init); module_exit(hello_exit); ================================================================ hello.h -------- #ifndef _HELLO_H_ #define _HELLO_H_ extern int victor_global_var; #endif ================================================================ LINUX 2.6.29-rc3 时的执行结果 ----------------------------- root@SERVER:~# uname -r 2.6.29-rc3-omap1 root@SERVER:~# insmod /hello.ko driver loaded root@SERVER:~# driver loaded ##victor_global_var=5 root@SERVER:~# grep hello /proc/kallsyms c02fb5f0 t br_hello_timer_expired c02fc1e8 t show_hello_timer c02fc34c t store_hello_time c02fc4a8 t show_hello_time c02fc550 t set_hello_time 00000000 a hello.c [hello] bf000000 t $a [hello] bf000000 t hello_exit [hello] bf000018 t $d [hello] bf00001c t $a [hello] bf00001c t hello_init [hello] bf000058 t $d [hello] c68690c0 ? __mod_license4 [hello] c68690c0 ? $d [hello] bf00008c r $d [hello] bf000468 d $d [hello] 00000000 a hello.mod.c [hello] c68690d5 ? __mod_srcversion30 [hello] c68690d5 ? $d [hello] c68690f8 ? __module_depends [hello] c6869101 ? __mod_vermagic5 [hello] c6869180 ? $d [hello] c6869180 ? ____versions [hello] bf000480 d $d [hello] c6869c83 n $d [hello] bf000480 d __this_module [hello] bf000000 t cleanup_module [hello] bf00001c t init_module [hello] bf000468 d victor_global_var [hello] c033a3f8 u printk [hello] root@SERVER:~# ================================================================= LINUX 2.6.32时察看执行结果 -------------------------- root@SERVER:~# insmod /hello.ko driver loaded root@SERVER:~# driver loaded ##victor_global_var=5 root@SERVER:~# grep hello /proc/kallsyms c0327e18 t br_hello_timer_expired c032889c t show_hello_timer c0328998 t store_hello_time c0328ae0 t show_hello_time c0328b70 t set_hello_time bf7b6000 t $a [hello] bf7b6000 t hello_exit [hello] bf7b6008 t $d [hello] bf7b600c t $a [hello] bf7b600c t hello_init [hello] bf7b6038 t $d [hello] bf7b6000 t cleanup_module [hello] bf7b600c t init_module [hello] root@SERVER:~# --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.220.253 ※ 编辑: neurone 来自: 122.116.220.253 (02/15 22:06)
1F:→ dou0228:如果你只是在其他module要看到该变数,用 EXPORT_SYMBOL 吧 02/16 23:01
2F:→ neurone:我想要在应用程式中得知位址,也不希望变数被其他module看 02/17 11:35
3F:→ neurone:到。到目前为止2.6.35.10 2.6.35.11皆是如此 02/17 11:36
4F:→ dou0228:知道位置之後要干啥? 02/17 18:32
5F:→ neurone:知道变数的位址後,应用程式可透过自订的ioctl去取值 02/21 12:27
6F:→ neurone:不需要另外解析变数 02/21 12:27
7F:→ dou0228:ioctl 不是这样搞的吧? 02/21 17:15







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP