我想一眼就能看出哪些变量在内存中是相邻放置的,如果我用objdump -t
生成一个符号表,我得到的符号表看起来是随机排序的。
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脚本来调用它,但如果可能的话,我希望避免这种情况。
谢谢!
1条答案
按热度按时间axkjgtzd1#
您可以使用通用工具“sort”对“objdump”的输出进行排序。
请阅读它的文档中的选项。没有任何选项,它只是在第一列排序。
对于还不了解命令行的用户...
您需要将“objdump”的输出作为“sort”的输入进行“管道传输”,如下所示:
第一个月