如何按地址顺序对符号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”的输出进行排序。

请阅读其文档以了解选项。没有任何选项,它只是在第一列上排序。