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