debugging - VS Code 调试 golang。Delve 调试器
问题描述
我对 Visual Studio 代码中的 Delve 调试器有疑问。调试开始,但没有任何反应。控制台中只有信息:
time="2018-06-23T16:35:55+02:00" level=info msg="launching process with args: [C:\\Users\\LenovoPC\\go\\src\\test\\debug]" layer=debugger
launch.json 的配置
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "debug",
"remotePath": "",
"port": 2345,
"host": "127.0.0.1",
"program": "${workspaceRoot}",
"env": {},
"args": [],
"showLog": true
}
]
解决方案
根据您安装 delve 的方式,它最终会出现在您的 PATH 或 GOPATH/bin 中。如果 dlv 二进制文件在您的 GOPATH/bin 中并且此 GOPATH 未设置为环境变量,则确保您的 PATH 指向此 GOPATH/bin 以便 Go 扩展可以找到 dlv 二进制文件。
尝试将目录更改为文件名以从main.go
项目文件夹中运行项目
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "debug",
"remotePath": "",
"port": 2345,
"host": "127.0.0.1",
"program": "${fileDirname}",
"env": {},
"args": [],
"showLog": true
}
]
}
确保 $GOPATH 已设置(例如 ~/.go) 在终端上运行命令
go env
检查GOROOT
和GOPATH
变量以查看 delve 是否与它们同步
有关更多信息,请查看如何配置 Delve
推荐阅读
- r - 从数据框中子集数据并从子集值中获取特定值
- python - 尝试在应用程序之间使用 pyserial,但我得到了终端
- java - Java Spring 国际化(i18n)问题
- angular - 无法将 Angular Google Maps (AGM) 添加到 Jhipster
- pandas - 如何在另一个数据帧上通过类似 vlookup 的过程创建新的 pandas 列
- python - Pyautogui - 需要按住 shift 并单击
- angularjs - AngularJS 控制器不与 HTML 绑定
- asp.net - TransferRequestHandler 性能问题
- postgresql - 用于 spark/hadoop 的 Postgres 适配器增加了什么价值?
- c# - 为什么会抛出 SafeArrayTypeMismatchException?