LLVM学习之DWARF

LLVM学习之DWARF

DWARF是"使用带属性的记录格式进行调试——Debug With Attributed Record Formats"的首字母缩写。DWARF和目标格式无关,它最初是与ELF(可执行和可链接格式——Executable and Linkable Format)一起设计的。

发展历史

DWARF的第一个版本使用了过多的存储空间且不向后兼容,而后被DWARF-2取代,DWARF-2增加了各种编码方案以减小数据大小。DWARF-2并没有立即获得普遍的认可。如Sun Microsystems采纳ELF作为向Solaris迁移的一部分时,他们选择继续以嵌入的方式使用stabs。随后直到1990年代后期DWARF才成为Linux默认使用的调试属性记录格式。

2006年发布了DWARF的第三个版本,增加了支持C++命名空间、Fortran90可分配数据和其他编译优化技术。

2010年发布了DWARF的第四个版本,该版本提供"改进的数据压缩,对优化代码的更好描述以及对C++中新语言功能的支持"

2017年2月发布了DWARF的第五个版本,它在许多方面进行了改进:更好的数据压缩,调试数据与可执行文件的分离,改进的宏和源文件的描述,更快的符号搜索,优化的调试代码,以及功能和性能方面的众多改进。

参考:

DWARF 5 Standard

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值