1
xingjue 84 天前 1
字节开源了一共工具 类似于 althas
|
2
KaynW 84 天前 1
|
3
Tanglok 84 天前
Goland 不是有远程编译和调试.
|
4
griffinx 84 天前 1
如果程序允许暂停,直接 ssh 连接上去用 delve debug 。但是大部分 bugs 通过 tracing ,logging 这些中间件,配合 pprof 已经可以诊断的比较好了,需要考虑你的服务是否已经支持了这些组件。
另外,可以尝试在本地环境复现问题,也是一个好的思路,不一定直接在远程(生产环境)的服务操作 |
5
xiaozirun 84 天前 2
用 github.com/go-delve/delve
在 dockerFile 里: RUN go install github.com/go-delve/delve/cmd/[email protected] # 构建 Go 应用程序 RUN go build -gcflags="-N -l" -o test . # 声明服务端口 EXPOSE 8080 2345 # 指定容器启动命令 CMD ["dlv", "--listen=:2345", "--headless=true", "--api-version=2", "exec", "./test"] 远程上启动后在 goland 里配置下 go remote 就行了 |
6
aw2350 84 天前 2
得看你们的业务复杂度以及架构模式。如果是 N 个微服务链路,本地起 N 个服务用生产的环境配置去定位问题,那也很痛苦,何况 N 个服务可能有 java 有 go 有 其他的玩意。。最好的办法还是做好链路追踪以及 pprof 或者 dlv
|
7
ny562kPWNJK9g86f 84 天前
|
8
Martens 84 天前 1
一般服务器运行的 go 可执行文件都是编译优化和裁剪过的吧,不能直接调试。
楼上说的 dlv 支持本地和远程调试 |