因为dwarf2_read_address: Corrupted DWARF expression而升级GDB,附升级教程

本文详细记录了解决使用GDB版本6.5时遇到的dwarf2_read_address:CorruptedDWARF expression错误的过程。通过升级到GDB最新版本7.2,并正确安装及验证,最终成功解决了该问题。

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

转自:http://blog.youkuaiyun.com/littlefang/archive/2010/10/28/5971024.aspx

 

原有的代码做了部分修改,再调试的时,p某个变量出现"dwarf2_read_address: Corrupted DWARF expression"错误,在网上搜了一下,是由于gdb的bug导致的,该bug已在GDB 6.7及以上版本修复。测试服务器上的版本刚好是6.5,不得不升级一下gdb了,这年头连GDB都靠不住啊。

http://www.gnu.org/software/gdb/ 上 找到最新的7.2版本,下载,解压缩,一路./configure->make->make install后,用gdb -v看了一下版本,竟然还是6.5。查了下GDB的默认安装目录是/usr/loca/bin,export命令查看了下我机器默认的环境变量是/usr /bin,于是备份旧版本的gdb程序后,将usr/loca/bin下新的gdb可执行程序复制过去。gdb -v终于显示版本7.2。调试一下程序,原来的bug不见了。

done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值