在DWARF中编码实时范围

时间:2015-02-11 10:19:46

标签: compiler-construction gdb dwarf

我想在DWARF中编码变量的实时范围。我该怎么办? 我在DWARF 3 pdf第178页的规范中看到,DW_AT_high_pc和low_pc不适用于标记有TAG_variable的DIE。我应该在哪里根据规范进行编码?

1 个答案:

答案 0 :(得分:1)

你可以做两件事。

一个是您可以发出一个块并让变量出现在块中。当块结束时,变量将超出范围。如果您没有进行复杂的优化,这是最简单的方法。

另一种方法是使用DWARF位置列表来表示变量的实时范围。请参阅DWARF 4标准的第2.6.2节("位置列表")(它们也在DWARF 3中,但我没有在这里查找它)。