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

本文介绍了如何使用readelf工具查看和解析ELF文件中的调试信息,重点分析了.debug_info和.debug_line节的内容,并列举了一些常用的标记和属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

readelf -S test

查看包含的调试信息。
这时会出现很多信息:
这里写图片描述
接着使用

readelf –w* test

查看各个调试信息节包含的内容。
*是调试节名的第一个字母,如-wi就是查看.debug_info节的内容,-wl就是查看.debug_line节的内容。我们主要就看这两个信息。
查看.debug_info的内容:
这里写图片描述

常用的标记和属性:

数据列信息说明
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值