欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用readelf/objdump查看dwaf调试信息

程序员文章站 2022-05-27 09:22:43
...

对源文件进行编译链接,生成.o文件。
使用

readelf -S test

查看包含的调试信息。
这时会出现很多信息:
使用readelf/objdump查看dwaf调试信息
接着使用

readelf –w* test

查看各个调试信息节包含的内容。
*是调试节名的第一个字母,如-wi就是查看.debug_info节的内容,-wl就是查看.debug_line节的内容。我们主要就看这两个信息。
查看.debug_info的内容:
使用readelf/objdump查看dwaf调试信息

常用的标记和属性:

数据列 信息说明
DW_TAG_class_type 表示类名称和类型信息
DW_TAG_structure_type 表示结构名称和类型信息
DW_TAG_union_type 表示联合名称和类型信息
DW_TAG_enumeration_type 表示联合名称和类型信息
DW_TAG_typedef 表示 typedef 名称和类型信息
DW_TAG_array_type 表示数组名称和类型信息
DW_TAG_subrange_type 表示数组大小信息
DW_TAG_inheritance 表示继承的类名称和类型信息
DW_TAG_member 表示类的成员
DW_TAG_subprogram 表示函数名称信息
DW_TAG_formal_parameter 表示函数参数的信息
DW_AT_name 表示名称字符串
DW_AT_type 表示类型信息
DW_AT_artificial 在创建时由编译程序设置
DW_AT_sibling 表示兄弟位置信息
DW_AT_data_member_location 表示位置信息
DW_AT_virtuality 在虚拟时设置

下一篇会简单的分析一下调试信息。

参考博客:
https://www.cnblogs.com/zqingnn/archive/2011/01/05/1926384.html

相关标签: 调试