大家都有哪些 golang code 的 debug 的神器推荐?

已邀请:

tupunco

赞同来自: davidcai1993 simeon goldpasser

VSCode 开发配置


settings.json


VSCode 工作区配置. 菜单 文件->个性化配置->工作区设置 来触发本配置.
GOPATH 多个路径在 Mac 下需要 : 分割, Windows 下需要 ; 分割, 下面涉及到的 GOPATH 都遵循此规则.
本节点配置后需要重启 VSCode 来生效.


{
"go.gopath": "G:\\Work\\GoPath;G:\\Work\\SVN\\...自定义目录...\\"
}

launch.json


调试运行配置. 主要配置 ENV 节点 GOPATH 项. F5 触发本配置.


{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
// "mode": "exec",
// "program": "${workspaceRoot}/...自定义目录....exe",
"mode": "debug",
"program": "${workspaceRoot}",
"env": {
"GOPATH":"G:\\Work\\GoPath;G:\\Work\\SVN\\...自定义目录...\\"
},
"args": []
}
]
}

tasks.json


快捷键 Ctrl + Shift + B 来触发 配置新任务, 选择 其他 任务. 平时使用也用此快捷键查看 Build 情况.
不同系统自行配制不同节点.


{
"version": "0.1.0",
"command": "go",
"isShellCommand": true,
"args": [
"build",
"-i",
"-v"
],
"windows": {
"options": {
"env": {
"GOPATH": "G:\\Work\\GoPath;G:\\Work\\SVN\\...自定义目录...\\"
}
}
},
"linux": {
"options": {
"env": {
//"GOPATH": "/home/USERNAME/GoPath:/home/USERNAME/Work/Git/...自定义目录.../"
}
}
},
"osx": {
"options": {
"env": {
//"GOPATH": "/home/USERNAME/GoPath:/home/USERNAME/Work/Git/...自定义目录.../"
}
}
},
"showOutput": "always"
}

tupunco

赞同来自:

delve


配合 vscode 开发

astaxie - 创造、获取、分享、传播和应用Go

赞同来自:

我刚发了一个和你一样的提问,删除了。


我自己调试Go代码比较原始,还是在使用log打印,但是有时候确实多goroutine的情况下日志打印就会有顺序问题,还是比较难调试的。最近也发现了dlv这个工具,和vscode集成的还不错,目前还在研究中。


GDB最早的时候用过一段时间,但是确实调试Go的代码不是那么方便,大家有什么更好的推荐吗?

gogoing

赞同来自:

IEAD的golang插件,debug非常舒服

SunisDown - @douban

赞同来自:

自己都是用 gdb/lldb


看见别人有用delve


还用过godebug 这个有点像 python 的 ipdb,但是没有那么强大,调小程序够用。

lnhlg

赞同来自:

idea + delve + print

simeon - 爱看球的程序员

赞同来自:

vscode + delve

九命猫

赞同来自:

log

fengche

赞同来自:

log + dlv
找bug一般用log,看代码配合dlv

touei

赞同来自:

idea如何使用delve?

要回复问题请先登录注册