

远程调试 golang 应用
source link: https://gythialy.github.io/How-to-remote-debug-golang-by-dlv/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

远程调试 golang 应用
2021-04-202022-05-12Notes
STEP1: 编写 Dockerfile
FROM golang:1.16 AS build-env
# Build Delve
RUN go get github.com/go-delve/delve/cmd/dlv
COPY . /app
WORKDIR /app
RUN go mod download
EXPOSE 40000
ENTRYPOINT ["dlv", "--listen=:40000", "--headless=true", "--api-version=2", "--accept-multiclient", "debug", "/app/cmd/"]注:这里是把代码全部复制到进行中,也可以只复制编译好的文件。如果是编译好的文件,编译的时候需要设置
-gcflags "all=-N -l"
STEP2: 编译 docker 镜像
docker build -f docker/Dockerfile.debug -t qlcchain/go-qlc:debug .
STEP3: 启动 docker 容器并绑定端口
docker run --rm -it -p 40000:40000 qlcchain/go-qlc:debug \
--build-flags="-tags=testnet" \
-- --configParams="rpc.rpcEnabled=true;p2p.discovery.mDNSEnabled=false"注:通过
--build-flags
指定编译参数;--
指定传给 app 的参数STEP4: 在 Goland 中连接容器
注:除了 Goland 外,还有一些其他的 GUI 可以选择
---EOF---
Recommend
-
92
最近用 Golang 实现了一个日志搜集上报程序(内部称 logger 项目),线上灰度测试过程发现 logger 占用 CPU 非常高(80% - 100%)。而此项目之前就在线上使用,用于消费 NSQ 任务, CPU 占用一直在 1%,最近的修改只是添加了基于...
-
55
最近用 Golang 实现了一个日志搜集上报程序最近用 Golang 实现了一个日志搜集上报程序(内部称 logger 项目),线上灰度测试过程发现 logger 占用 CPU 非常高(80% - 100%)。
-
94
-
67
编写gradle对象插件的实现方式有3种: 直接写在build.gradle中,这种方式简单省事,比较适合比较小的插件编写 在项目根目录下建立buildSrc目录 建立一个独立的...
-
32
因为正在开发一个项目,而这个项目使用到了 puppeteer ,其中有个功能是在 puppeteer 打开的chrome里打开多个 Tab ,并进行管理。 虽然 puppeteer 可以打开多个网站,但...
-
48
监控和调试功能是应用必备的属性之一,其手段也是多种多样。 一般地,我们可以通过:线上日志, zabbix, grafana, cat 等待系统做一问题留底,有问题及时报警,从而达到监控效果。 而对于应用的调试,我之前的文章也提...
-
45
网页在手机浏览器打开时,怎么调试?...
-
54
网页在手机浏览器打开时,怎么调试? 安卓设备的 Chrome 浏览器支持远程调试,可以使用桌面浏览器的开发者工具。本文介绍如何进行远程调试。
-
14
记录下 dlv 的远程调试,建议不要在代码里加 fmt 去调试。不谈 goland 啥的远程调试,本文章目前只写 dlv 的命令行配合远端调试。 一些前提须知符号链接路径package mainimport ( "fmt" "os")
-
6
远程Java应用的RASP调试教程 Java RASP是基于Java Agent技术实现的,而Java Agent代码无法独立启动,必须依赖于一个Java运行时程序才能运行。 如何调试一个Java Agent可以参考之前的一篇推...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK