【问题标题】:Libdwarf - how to extract the size and type of a variable from an ELF fileLibdwarf - 如何从 ELF 文件中提取变量的大小和类型
【发布时间】:2013-06-16 13:48:32
【问题描述】:

我想在 Windows 下使用 libdwarf 库在 C 中创建一个程序,该库能够提取有关作为输入的变量的信息。程序应输出变量的大小(以字节为单位)和类型(无符号、有符号、浮点)。

到目前为止,我能够在 Windows 下编译库,但我很难弄清楚所有库函数。我需要的是一个函数,它接受一个字符串(变量的名称)并输出一个 DIE 偏移量。之后,我可以使用其他函数在给定的 DIE 偏移处提取类型属性。

有这样的功能吗?

【问题讨论】:

    标签: elf dwarf


    【解决方案1】:

    Windows 对可执行文件使用 PE 格式,而不是 ELF,因此您在 Windows 下执行此操作似乎很奇怪。

    使用 libdwarf 应该可以计算出变量的大小和类型,但是库中没有在该高级别上运行的函数。我相信你需要做的是大致 1. 使用 dwarf_next_cu_header 迭代编译单元 2. 用 dwarf_siblingof 获取 CU 中的第一个 DIE 3. 走 DIE 树,找到你需要的 DIE 4. 获取有关该 DIE 的信息

    【讨论】:

      猜你喜欢
      • 2017-12-27
      • 2013-03-12
      • 1970-01-01
      • 1970-01-01
      • 2016-02-27
      • 1970-01-01
      • 2014-07-21
      • 2019-03-21
      • 2015-12-13
      相关资源
      最近更新 更多