平时调试各种go代码的时候, 大多时候使用默认的配置文件即可:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}",
"env": {},
"args": []
}
]
}
但是利用vscode调试etcdctl的时候, 总是报编译错误。
查了下etcd的build脚本后发现, 在go build之前, 将GOPATH修改成了etcd/gopath:$GOPATH
CDIR=$(cd "$d" && pwd)
etcdGOPATH="${CDIR}/gopath
export GOPATH=${etcdGOPATH}$GOPATH
ln -s "${CDIR}/cmd/vendor" "${etcdGOPATH}/src"
因此,我们可以把GOPATH修改成GOPATH=etcd绝对路径/gopath:$GOPATH后,再启动vscode,这样,就可以愉快的debug etcd和etcdctl了