阿里云Centos 下载 GDB

前言

在阿里云服务器中想调试工程, 发现没有gdb, 记录下遇到的坑

预备下载

yum -y install python3
yum -y install python3-devel // 需要里面的头文件Python.h

因为gdb显示STL容器的数据就很麻烦, 如下图
gnu额外添加了python脚本让STL容器数据更好的展示
python的版本没有关系, 如果是python2的话,就要下载对应的python2-devel
在这里插入图片描述
python的环境配置

vim ~/.bashrc
// 在.bashrc中添加头文件, 下载完python3-devel后就会有的
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/include/python3.6m
export CPLUS_INCLUDE_PATH=#CPLUS_INCLUDE_PATH:/usr/include/python3.6m
wq
source ~/.bashrc

下载gdb

镜像库
http://ftp.gnu.org/gnu/gdb/

wget http://ftp.gnu.org/gnu/gdb/gdb-8.3.tar.gz

解压文件

tar xzf gdb-8.3.tar.gz

配置

./configure --prefix=/usr/local/gdb-8.3.0 --with-python=/usr/bin/python3.6

–with-python 是你下载python地方

编译

make -j4

安装

make install

配置环境

vim ~/.bashrc
export PATH=/usr/local/gdb-8.3.0/bin:$PATH
source ~/.bashrc

配置gdb pretty-printing

https://sourceware.org/gdb/wiki/STLSupport

  1. 选择一个目录用svn下载python文件

    cd /opt/python/gdb_prints
    svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc+±v3/python

    没有svn的话

    yum -y install svn

  2. 增加~/.gdbinit, gdb运行时默认会调用这个文件

    vi ~/.gdbinit

    这里写的python,因为我软连接ln -s /usr/bin/python3.6 /usr/bin/python

    python
    import sys
    sys.path.insert(0, ‘cd /opt/python/gdb_prints/python’)
    from libstdcxx.v6.printers import register_libstdcxx_printers
    register_libstdcxx_printers (None)
    end

    wq

vscode 中如何使用pretty-printing

在这里插入图片描述
需要这段话, 这样的鼠标悬空的变量和左侧的调试变量都会开启pretty-printing

遇到的问题

  1. 在make install的使用缺少makeinfo命令
    网上的解决方案

    yum install -y texinfo

    我的服务器始终找不到的这个软件包, 更新了yum也没用, 难受

    下载配置texinfo

    镜像库
    https://mirrors.aliyun.com/gnu/texinfo/
    http://ftp.gnu.org/gnu/texinfo

    wget http://ftp.gnu.org/gnu/gdb/texinfo-6.8.tar.gz

    配置安装

    ./configure --prefix=/usr/local/texinfo-6.8.0

    编译安装

    make -j4
    make install

    配置环境

    vim ~/.bashrc
    export PATH=/usr/local/texinfo-6.8.0/bin:/usr/local/gdb-8.3.0/bin:$PATH
    source ~/.bashrc

  2. 如何配置–with-python
    见步骤

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值