gpt4 book ai didi

go - 调试Go程序时VSCode错误的路径

转载 作者:行者123 更新时间:2023-12-04 11:50:00 25 4
gpt4 key购买 nike

我的 main.go 在一个子文件夹中 cmd/admin/main.go但是当我在调试并且文件中有错误时,它给了我来自 main.go 文件夹而不是工作区文件夹的相对路径。例如,我将收到错误 ..\..\path\to\file.go:238:3: undefined: test如果我尝试按住 Ctrl 并单击它,这将不起作用。
如果我从根 go run cmd/admin/main.go 启动命令按预期工作返回 path\to\file.go:238:3: undefined: test .
我的launch.json:

{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/cmd/admin",
"env": {},
"args": []
}
]
}
转到版本 1.16.6
VSC 版本 1.58.2
操作系统 Windows10

最佳答案

转到文件 > 将文件夹添加到工作区
然后选择包含 main.go 的文件夹
enter image description here
您也可以在命令行中执行此操作:

code cmd/admin -a
现在确保您当前的 launch.json 已被删除以重新开始,您的工作区应如下所示:
enter image description here
请注意,有一个“package main”和“func main()”,这是 Go 知道入口点所必需的。
现在按下带有断点的运行和调试:
enter image description here
就是这样,它现在应该适用于您添加到工作区的任何文件夹。如果您想要更具体的调试选项,请将它们添加到您的工作区,它们将应用于您运行的文件的上下文中。单击“创建 launch.json 文件。:
enter image description here
选择工作区:
enter image description here
选择 Go:启动包
enter image description here
您现在有一个启动配置,它将应用于您从中运行它的目录:
enter image description here
确保保存您的工作区以保持它:
enter image description here
笔记
  • 如果您当前的 launch.json 文件已经存在于任何地方,请务必删除它们。
  • 确保所有源代码都位于 GOPATH/src 中,您可以通过将其放入命令行来找出 GOPATH 的位置:
  • go env GOPATH
  • 该文件不需要命名为 main.go,但您必须有一个名为 main 的包和一个名为 main 的函数,以便 Go 知道每个可执行文件的入口点,例如 influxdb 的两个 cli:https://github.com/influxdata/influxdb/tree/master/cmd

  • 更多信息
    VS Code 工作区调试:
    https://code.visualstudio.com/docs/editor/multi-root-workspaces#_debugging
    GOPATH: https://golang.org/doc/gopath_code

    关于go - 调试Go程序时VSCode错误的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68419513/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com