centos7系统中调试golang运行时服务

作者: 5a532ea43623 | 来源:发表于2019-09-30 03:24 被阅读0次

    获取centos镜像

    官方镜像
    docker pull centos@latest
    saileifeng/centos-go-runtime-tool是我已经打好环境的镜像
    docker pull saileifeng/centos-go-runtime-tool@latest

    启动centos容器

    启动容器的时候需要使用超级权限模式,因为gdb运行时 ptrace: Operation not permitted.

    docker run --privileged

    安装gdb

    • 首先需要用yum方式安装默认的gdb版本,这个版本中有pstack命令,后续会使用到
      yum install gdb -y
    • 安装gdb8,默认的7.3查看进程的时候只能查看当前的线程,想要查看当前进程中的所有线程就比较麻烦了
      • 安装Texinfo文档系统
        yum install ncurses-devel -y
      • 下载gdb源码包
        wget https://ftp.gnu.org/gnu/gdb/gdb-8.3.tar.gz
      • 解压
        tar -zxvf gdb-8.3.tar.gz
      • 编译安装
        cd gdb-8.3 && make && make install
      • 替换老版本
        cp gdb/gdb /usr/bin/gdb
      • 查看版本信息
        gdb -v

    安装golang环境

    • 下载安装包
      wget https://studygolang.com/dl/golang/go1.12.linux-amd64.tar.gz
    • 解压
      tar -C /usr/local -xzf go1.12.linux-amd64.tar.gz
    • 配置环境变量
      • 打开文件
        vim /etc/profile
      • 加入配置信息
      export GOROOT=/usr/local/go
      export PATH=$PATH:$GOROOT/bin
      export GOPATH=/root/go
      export PATH=$PATH:$GOPATH/bin
      export GOPROXY=https://mirrors.aliyun.com/goproxy/
      export GO111MODULE=on
      
    • 刷新环境变量
      • 临时生效
        source /etc/profile
      • 容器中永久生效方法
        • 打开文件
          vim /etc/bashrc
        • 加入配置信息
          source /etc/profile
    • 查看版本信息
      go --version

    安装delve

    delve是golang官方推出的一个debug工具

    git clone https://github.com/go-delve/delve.git $GOPATH/src/github.com/go-delve/delve
    cd $GOPATH/src/github.com/go-delve/delve
    make install
    

    相关文章

      网友评论

        本文标题:centos7系统中调试golang运行时服务

        本文链接:https://www.haomeiwen.com/subject/dxfcpctx.html