官方镜像gdb使用报错

Viewed 16

问题描述:

我使用官方镜像构建并调试,自带的gdb运行显示/lib64/libsource-highlight.so.4缺失这个共享库,使用yum安装后出现找不到符号的问题。

之后nm命令看确实没有这个符号,之后就是去升级libsource-highlight但是一直有各种各样的问题,没有安装构建成功。

然后我就尝试安装gdb,centos 7安装的最新版gdb是 7,应该是不支持dwarf 5所以还是无法调试。

然后又升级8 9,dwarf也还是报错(这次的报错也是找不到符号问题)。

最后尝试升级gdb 12,源码编译也是出现各种问题,最终没有成功。

我想问一下有什么办法可以进行调试吗。

docker images:build-env-for-2.0
系统:centos 7

1 Answers

目前已经解决了,需要编译GDB 12以上的版本(要支持dwarf 5,我试过gdb 8和9都没用)。

wget https://ftp.gnu.org/gnu/gdb/gdb-12.1.tar.gz
tar xvf gdb-12.1.tar.gz
cd gdb-12.1

yum install gmp-devel  //下载gmp

./configure CFLAGS="-I/usr/gmp -L/usr/gmp" CXXFLAGS="-I/usr/gmp -L/usr/gmp"

make  
make install

然后就是痛苦的开始 我按照BE环境搭建配置 使用attach 但是每次都是出现上面的调试框 马上就消失了

后面终于vscode 仓库找到了原因

将vscode中原本的插件C/C++ 以及 C++ extension版本降低的3年前的版本就可以了

当我以为都解决了之后 又出现了新的问题,因为用的自己的电脑16g内存,给vmware分了11g内存,但是每次使用gdb attach doris_be时 内存会爆 把be节点会宕机,所以最后换了内存占用更小的LLDB。

安装codeLLDB插件,然后升级glibc到2.18.

wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
tar -zxvf glibc-2.18.tar.gz 
cd glibc-2.18
mkdir build
cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make -j4
make install

ldd --version

完结撒花