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

aside section ._1OhGeD · · 1214 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

获取centos镜像

docker pull centos@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

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:aside section ._1OhGeD

查看原文:centos7系统中调试golang运行时服务

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1214 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传