如何在elf文件中获得用户定义的函数范围(开始和结束地址)?

我知道我们可以通过读取符号表来获得用户定义的函数在elf中的开始地址,就像下面的函数main和foo:

08048330 T _start 0804a014 b completed.6159 0804a00c W data_start 0804a018 b dtor_idx.6161 080483e4 T foo 080483c0 t frame_dummy 080483ee T main 

但如何获得某些function的结束地址?

任何人都可以给我一些帮助吗? 谢谢!

nm -S a.out将显示符号大小(如果可用)。 然后你可以从开始地址和大小中获得“结束地址”。