检查DWARF版本的编译单元

usa*_*tch 12 debugging dwarf

所有,有没有工具来检查DWARF版本的文件?像这样的东西:

$ dwarf_tool binary_name
4
Run Code Online (Sandbox Code Playgroud)

jcl*_*lin 26

在Linux环境下?如果您安装了GCC,则应该具有readelf可执行文件.所以你可以试试这个

readelf --debug-dump=info binary_name | grep -A 2 'Compilation Unit @'

  • 如果在Mac OS X上,您将使用`xcrun dwarfdump -r0 binary_name`. (3认同)

Raj*_*dra 6

您还可以使用llvm-dwarfdump如下工具

llvm-dwarfdump -r 1 binary_name | head | grep Compile
Run Code Online (Sandbox Code Playgroud)

样本输出

0x00000000: Compile Unit: length = 0x0004710b, format = DWARF32, version = 0x0004, abbr_offset = 0x0000, addr_size = 0x08 (next unit at 0x0004710f)
Run Code Online (Sandbox Code Playgroud)