13

GCC 4.8 支持 DWARF4。我想知道从用户的角度来看,DWARF4 和 DWARF2 有什么区别。

让我们从 GDB 的角度来看它。当您切换到 DWARF4 时,对用户有什么不同吗?

我找到了一个Dwarf 主页,但据我所知,网络上没有关于与用户 POV 差异的信息。

你能指出我这些不同之处吗?

4

3 回答 3

6

DWARF 的第一个版本被证明使用了过多的存储空间,DWARF-2 取代了它并添加了各种编码方案以减少数据大小,后来是 DWARF 的第 4 版,它提供了改进的数据压缩、优化代码的更好描述和支持用于 C++ 中的新语言功能。

通常发行说明或公告会总结这些差异(会有更多)

http://dwarfstd.org/Announcement.php

http://dwarfstd.org/PressRelease.php

于 2013-03-24T15:17:11.710 回答
3

Dwarf 4 标准页面列出了主要的改进,规范更详细地列出了这些。

大多数用户的底线似乎是更好地支持优化代码、支持更多语言(主要在 Dwarf 3 中)以及支持新的 C++ 语言结构

于 2013-03-24T14:31:42.827 回答
2

我想补充一点,并非所有版本的 gdb 都能正确读取 dwarf4。我经常发现自己编译-gdwarf-2只是为了能够看到所有的符号。例如,对于 gdb 7.2,如果我使用 dwarf4,我无法读取混合 Fortran-C 构建中的所有符号,而我可以使用 dwarf2。

于 2016-11-22T19:14:46.960 回答