原有的代码做了部分修改,再调试的时,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
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网