dumping C structure sizes from ELF object file

删除回忆录丶 提交于 2019-12-02 19:32:57

pahole shows this and other details about structs. Its git repo is at http://www.kernel.org/git/?p=linux/kernel/git/acme/pahole.git;a=summary.

You will have to dig in .debug_info section, objdump will dump it for you if you run it with --dwarf parameter.

You will see your structures there as *DW_TAG_structure_type* and *DW_AT_byte_size* attribute is equivalent to sizeof. Standard Unix tool should be enough to format this data into more readable list.

Install package dwarves, then you have the command "pahole".

Use the "pahole" command against a elf object file, you can get all the structure information, or you can use the "-C" parameter to specific a structure name, for example:

$ pahole vmlinux -C task_struct

Unless someone else known something, I think you will have to process the output of nm .

However, nm only gives you the start of each struct and knows nothing about its end so even that may not work unless each strut is immediately followed by some other symbol. Watch out for this issue!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!