如何按地址顺序对符号table(由"objdump -t"生成)进行排序?
How to sort the symbol table (generated by "objdump -t") sequentially by address?
我想一眼看出哪些变量在内存中并排放置。
如果我使用 objdump -t
生成符号 table,我会得到符号 table,但是看似随机排序。
SYMBOL TABLE:
00100584 l F .text 00000000 deregister_tm_clones
001005a8 l F .text 00000000 register_tm_clones
001005d4 l F .text 00000000 __do_global_dtors_aux
0019c020 l .bss 00000001 completed.10177
0019c00c l O .fini_array 00000000 __do_global_dtors_aux_fini_array_entry
00100604 l F .text 00000000 frame_dummy
0019c024 l .bss 00000018 object.10182
0019c008 l O .init_array 00000000 __frame_dummy_init_array_entry
00000000 l df *ABS* 00000000 tcp_server_test.c
0019c03c l .bss 00000004 xServerWorkTaskHandle
001006a4 l F .text 00000098 prvServerWorkTask
0019c040 l .bss 00000008 xMyTelnet
...
有没有办法让它以向上计数的方式按地址(第一列)排序?
如果有一个开关可以添加到 objdump -t
以获得所需的输出,那就太好了。我查看了文档并没有找到类似的东西,但也许我忽略了什么?
另一种方法是编写一个 python 脚本来求助它,但我想尽可能避免这种情况。
谢谢!
您可以使用通用工具“排序”对“objdump”的输出进行排序。
请阅读其文档以了解选项。没有任何选项,它只是在第一列上排序。
我想一眼看出哪些变量在内存中并排放置。
如果我使用 objdump -t
生成符号 table,我会得到符号 table,但是看似随机排序。
SYMBOL TABLE:
00100584 l F .text 00000000 deregister_tm_clones
001005a8 l F .text 00000000 register_tm_clones
001005d4 l F .text 00000000 __do_global_dtors_aux
0019c020 l .bss 00000001 completed.10177
0019c00c l O .fini_array 00000000 __do_global_dtors_aux_fini_array_entry
00100604 l F .text 00000000 frame_dummy
0019c024 l .bss 00000018 object.10182
0019c008 l O .init_array 00000000 __frame_dummy_init_array_entry
00000000 l df *ABS* 00000000 tcp_server_test.c
0019c03c l .bss 00000004 xServerWorkTaskHandle
001006a4 l F .text 00000098 prvServerWorkTask
0019c040 l .bss 00000008 xMyTelnet
...
有没有办法让它以向上计数的方式按地址(第一列)排序?
如果有一个开关可以添加到 objdump -t
以获得所需的输出,那就太好了。我查看了文档并没有找到类似的东西,但也许我忽略了什么?
另一种方法是编写一个 python 脚本来求助它,但我想尽可能避免这种情况。
谢谢!
您可以使用通用工具“排序”对“objdump”的输出进行排序。
请阅读其文档以了解选项。没有任何选项,它只是在第一列上排序。