@
目录- launch.json Go 的配置
- 配置字段说明
- name:配置的描述性名称。
- type:指定调试器类型,即 go 用于 Go 应用程序。
- request:定义请求类型,任一 launch 启动新的调试会话,或者 attach 以附加到现有进程。
- mode:运行 Go 程序的模式,可以是 auto、 debug、 test、 exec或 remote。
- program:Go 程序的入口点。 ${workspaceFolder} 指当前工作区文件夹,以及 ${file} 指当前打开的文件。
- env:要为程序设置的环境变量。
- args:要传递给程序的命令行参数。
- remotePath:连接到远程调试会话时源代码的远程路径。
- port 和 host:用于远程调试的要连接到的端口和主机。
- 参考资料
写在前面
launch.json Go 的配置
下面是一个示例 launch.json Go 项目的文件:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package (auto)",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}",
"env": {},
"args": []
},
{
"name": "Launch Package (debug)",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}",
"env": {},
"args": []
},
{
"name": "Run Tests (test)",
"type": "go",
"request": "launch",
"mode": "test",
"program": "${workspaceFolder}",
"env": {},
"args": []
},
{
"name": "Execute Binary (exec)",
"type": "go",
"request": "launch",
"mode": "exec",
"program": "${workspaceFolder}/myBinary",
"env": {},
"args": []
},
{
"name": "Attach to Remote (remote)",
"type": "go",
"request": "attach",
"mode": "remote",
"remotePath": "${workspaceFolder}",
"port": 2345,
"host": "127.0.0.1"
}
]
}
配置字段说明
name:配置的描述性名称。
type:指定调试器类型,即 go 用于 Go 应用程序。
request:定义请求类型,任一 launch 启动新的调试会话,或者 attach 以附加到现有进程。
mode:运行 Go 程序的模式,可以是 auto、 debug、 test、 exec或 remote。
Launch Package (auto):
- 使用 auto 模式,以根据程序的上下文自动确定如何运行程序。
Launch Package (debug):
- 显式使用 debug 模式运行程序,启用调试功能。
Run Tests (test):
- 使用 test 模式来运行和调试 Go 测试用例。
Execute Binary (exec):
- 使用 exec 模式来运行位于 ${workspaceFolder}/myBinary。
Attach to Remote (remote):
- 使用 remote 模式连接到正在运行的 Go 进程进行远程调试,连接到监听的进程 127.0.0.1:2345。
在远程计算机上安装 Delve :
- 按照 Delve GitHub 存储库 中的安装说明进行操作。
- 在无外设模式下启动 Delve :
- 在远程计算机上运行以下命令以启动 Delve:
dlv debug --headless --listen=:2345 --log --api-version=2
- 配置 VS Code 以连接到 Delve:使用 Attach to Remote (remote) 中的配置 launch.json,指定正确的 host 和 port Delve 正在倾听的地方。
program:Go 程序的入口点。 ${workspaceFolder} 指当前工作区文件夹,以及 ${file} 指当前打开的文件。
env:要为程序设置的环境变量。
args:要传递给程序的命令行参数。
remotePath:连接到远程调试会话时源代码的远程路径。
port 和 host:用于远程调试的要连接到的端口和主机。
__
参考资料
基础/标准库/第三方库
golang 导航
编程规范
算法|面试
项目
标签:launch,vscode,debug,golang,workspaceFolder,go,Go From: https://www.cnblogs.com/nones/p/18344125