Linux kernel 是否可以读取vmlinux文件的符号表?
我正在尝试读取linux内核的符号表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
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