ELF文件中的数组长度

时间:2017-10-18 13:09:59

标签: elf

我有一个ELF文件,我可以使用readelf提取符号和部分信息就好了。 我遇到了一个问题,因为我需要知道哪些变量是数组,以及它们有多长。我只得到原始大小。我发现有人说你可能会在调试部分使用--debug-dump找到这些信息(这肯定包含很多信息,但我找不到我正在寻找的数组大小)。

如果有帮助,我会为嵌入式目标修改GCC。

1 个答案:

答案 0 :(得分:1)

目标使用哪种调试信息?如果是DWARF,则数组变量将具有标记为DW_TAG_array_type的关联类型,并且该属性应具有DW_AT_upper_bound属性,该属性比数组大小少一个(对于C数组)。

或者,如果您的调试信息类型仅提供数组元素类型,则可以使用ELF对象大小并将其除以数组元素的大小。