Golang:能否配置dlv在非应用路径运行并在VSCode中调试?
在VSCode中配置dlv在非应用路径下调试CLI程序
完全可以实现,核心是通过VSCode的调试配置文件(.vscode/launch.json)调整参数,让dlv在指定路径启动并调试你的CLI程序。
直接用下面的配置示例修改你的launch文件:
{ "version": "0.2.0", "configurations": [ { "name": "Debug CLI from custom path", "type": "go", "request": "launch", "mode": "debug", // 替换为你的CLI程序源码包路径,或已编译可执行文件的绝对路径 "program": "${workspaceFolder}/cmd/cli", // 设置你想要dlv运行的目标工作目录 "cwd": "/home/your-user/custom-working-dir", // 你的CLI启动参数,按需添加 "args": ["run", "--config", "config.yaml"], "showLog": true } ] }
关键参数说明:
program:告诉dlv要调试的程序位置,用源码包路径的话会自动编译,用可执行文件路径则直接调试已编译的二进制。cwd:这是实现“不同路径运行”的核心,设置后,dlv会切换到这个目录启动调试,你的CLI程序运行时的工作目录就是这里,和程序本身的存放路径完全无关。args:如果你的CLI需要启动参数,在这里按顺序填写即可。
注意事项:
- 确保
cwd指定的目录实际存在,否则CLI程序运行时可能因找不到文件报错。 - 如果调试已编译的二进制,记得先编译出带调试信息的版本(不要加
-s -w这类压缩参数)。
内容的提问来源于stack exchange,提问作者Gustavo Freitas
相关产品推荐
相关产品推荐

