我需要一种使用偏移量直接访问芯片的方法。到目前为止,我发现有一种用于计算单元(CU)对象的方法,在该方法中可以从骰子的偏移量访问骰子。
即:
cu._get_DIE(die.attributes['DW_AT_type'].value)但是,如果您试图访问当前CU之外的DIE,您就超出了界限,因为该DIE没有在该CU下索引。
我能想到的最好的方法是循环通过CU,并使用偏移量作为索引创建一个完整的骰子列表。
看起来DWARFInfo类应该有一个方法,你可以访问任何骰子,只要你有它的偏移量。
之所以需要这样做,是因为我正在循环所有的CU,以生成全局变量的列表,并且我需要引用不同CU中的DIE,以便在执行过程中检索类型信息。
发布于 2015-09-23 23:48:36
pyelftools似乎将引用表示为相对于编译单元的值,因此您可能需要在全局变量列表中包含CU信息。
查看https://github.com/eliben/pyelftools/issues/27。它指示引用可以是相对于编译单元的。事实上,DWARF规范也是这么说的:http://dwarfstd.org/doc/dwarf-2.0.0.pdf#page=71
https://stackoverflow.com/questions/10523242
复制相似问题