您的位置:首页 > 其它

使用/dev/kmem读取内核变量的值

2015-11-10 19:25 183 查看
调试嵌入式Linux内核时,可能需要查看某个内核变量的值。/dev/kmem正好提供了访问内核虚拟内存的途径。现在的内核大都默认禁用了/dev/kmem,打开的方法是在 make menuconfig中选中 device drivers --> Character devices -->/dev/kmem
virtual device support.

用 cat /proc/kallsyms | grep *** 找到要查看的变量的地址, 这个地址作为本程序的输入参数。

int snd_write_bypass = 0;

EXPORT_SYMBOL_GPL(snd_write_bypass);

/dav/test # cat /proc/kallsyms | grep snd_write_bypass

8051e26c r __ksymtab_snd_write_bypass

80530219 r __kstrtab_snd_write_bypass

app code

/dav/test # ./devkmem __kstrtab_snd_write_bypass

map failed Input/output error

varAddr = 0x0

mapbase = 0xFFFFFFFF

Segmentation fault
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: