如何列出分配给 elf 文件中特定部分的变量?
How to list up variables assigned to a specific section in an elf file?
如何列出在 elf 文件的特定部分中分配的变量?
例如,如果我执行 readelf -t vmlinux
,我可以看到部分信息(开始偏移量和大小,当然在虚拟地址中),因此我可以看到 .data..percpu
部分从哪里开始以及持续多长时间。
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
....
[18] .data..percpu PROGBITS ffffffc0105cb000 0054b000
0000000000011948 0000000000000000 WA 0 0 64
我还可以使用 -s 选项列出所有符号,该选项显示所有符号的地址和大小。我可以将这些信息与部分信息结合起来,以列出 .data..percpu 部分中的所有变量。但这需要一些努力,我认为应该有一个简单的命令来列出特定部分中的变量。我可以这样做吗?
每个符号在 Ndx
列中都有其所属的部分索引。
要查找与第 18 部分匹配的所有符号,请执行以下操作:
readelf -Ws vmlinux | cut -c60- | grep ' 18 '
如何列出在 elf 文件的特定部分中分配的变量?
例如,如果我执行 readelf -t vmlinux
,我可以看到部分信息(开始偏移量和大小,当然在虚拟地址中),因此我可以看到 .data..percpu
部分从哪里开始以及持续多长时间。
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
....
[18] .data..percpu PROGBITS ffffffc0105cb000 0054b000
0000000000011948 0000000000000000 WA 0 0 64
我还可以使用 -s 选项列出所有符号,该选项显示所有符号的地址和大小。我可以将这些信息与部分信息结合起来,以列出 .data..percpu 部分中的所有变量。但这需要一些努力,我认为应该有一个简单的命令来列出特定部分中的变量。我可以这样做吗?
每个符号在 Ndx
列中都有其所属的部分索引。
要查找与第 18 部分匹配的所有符号,请执行以下操作:
readelf -Ws vmlinux | cut -c60- | grep ' 18 '