内核中通过/proc/kallsyms获得符号的地址--全局变量snd_write_bypass
【摘要】
在内核中通过/proc/kallsyms获得符号的地址
Linux内核符号表/proc/kallsyms的形成过程 ---------------------------------------------------------------------------
...
Linux内核符号表/proc/kallsyms的形成过程 ./scripts/kallsyms.c负责生成System.map ./scripts/kallsyms.c解析vmlinux(.tmp_vmlinux)生成kallsyms.S(.tmp_kallsyms.S),然后内核编译过程中将kallsyms.S(内核符号表)编入内核镜像uImage
为了更好地调试内核,引入了kallsyms。kallsyms抽取了内核用到的所有函数地址(全局的、静态的)和非栈数据变量地址,生成一个数据块,作为只读数据链接进kernel image,相当于内核中存了一个System.map。需要配置CONFIG_KALLSYMS .config 注: 配置CONFIG_KALLSYMS_ALL之后,就不需要修改all_symbol静态变量为1了 /dav/test # cat /proc/kallsyms | grep snd_write_bypass int snd_write_bypass = 0; [ 1858.449705] hello.ko,Hello, World - this is the kernel speaking |
文章来源: blog.csdn.net,作者:悟空胆好小,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/xushx_bigbear/article/details/49764199
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)