Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想在 DWARF 中编码变量的生存范围。我该怎么做?我在 DWARF 3 pdf 的第 178 页规范中看到 DW_AT_high_pc 和 low_pc 不适用于带有 TAG_variable 标记的 DIE。我应该在哪里根据规范对其进行编码?
你可以做两件事。
一种是您可以发出一个块并让变量出现在块中。当块结束时,变量将超出范围。如果您不进行复杂的优化,这是最简单的方法。
另一种方法是使用 DWARF 位置列表来表示变量的生存范围。请参阅 DWARF 4 标准的第 2.6.2 节(“位置列表”)(它们也在 DWARF 3 中,不过我没有在这里查找它)。