2

我正在尝试读取linux内核的符号表,vmlinux文件,到目前为止我试过了readelf

readelf -s vmlinux

但是什么都没有打印出来。

列出存储在里面的所有字符串,使用strings命令,我可以找到类似的符号名称sys_close,所以我想应该有一个可行的解决方案。

更新

我没有 System.map,我认为它在 vmlinux 内部,否则如何使用导出的名称构建内核模块sys_close

4

2 回答 2

0

尝试做
objdump -t vmlinux
objdump -t vmlinux
它和 readelf 一样
检查你的 make 文件,看看 vmlinux 是如何准备的。
我确信那里有旗帜。或者在这里发布你的makefile

于 2013-08-15T06:30:58.203 回答
0

内核二进制文件有点不同。它的符号位于 System.map 文件中,该文件与内核 (/boot) 位于同一目录中。

维基百科将为您提供有关 System.map 的更多信息。

于 2012-10-04T12:04:19.793 回答