Linux kernel 是否可以读取vmlinux文件的符号表?

Linux kernel 是否可以读取vmlinux文件的符号表?,linux-kernel,elf,Linux Kernel,Elf,我正在尝试读取linux内核的符号表vmlinux文件,到目前为止我尝试了readelf readelf-s vmlinux 但什么也没印出来 通过strings命令列出存储在其中的所有字符串,我可以找到像sys\u close这样的符号名,所以我想应该有一个解决方案可以工作 更新 我没有System.map,我认为它在vmlinux内部,否则您如何使用导出的名称(如sys\u close)构建内核模块?内核二进制文件有点不同。它的符号位于System.map文件中,该文件应该与内核(/boot

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

readelf-s vmlinux

但什么也没印出来

通过
strings
命令列出存储在其中的所有字符串,我可以找到像
sys\u close
这样的符号名,所以我想应该有一个解决方案可以工作

更新


我没有System.map,我认为它在vmlinux内部,否则您如何使用导出的名称(如
sys\u close
)构建内核模块?

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


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

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

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

请尝试执行
objdump-t vmlinux
objdump-t vmlinux
与readelf相同
检查make文件,看看vmlinux是如何准备的。
我肯定那里有旗帜。 或者在此处发布您的makefile

尝试执行
objdump-t vmlinux
objdump-t vmlinux
与readelf相同
检查make文件,看看vmlinux是如何准备的。
我肯定那里有旗帜。
或者在此处发布您的makefile

是否使用附加的符号创建?nm-g/path/to/yourmodule.ko是否使用附加的符号创建?nm-g/path/to/yourmodule.ko