【发布时间】:2021-04-23 07:51:02
【问题描述】:
尝试使用 Delve 调试 Go,我收到以下错误:
could not launch process: fork/exec C:\code\go_stuff\debugtest\__debug_bin: Access is denied.
could not remove C:\code\go_stuff\debugtest\__debug_bin: remove C:\code\go_stuff\debugtest\__debug_bin: Access is denied.
这是我使用 go mod init 创建的一个非常简单的 Go 项目,我使用 Vim 编写了 main.go,因此不涉及 VSCode 或其他任何东西。
我尝试从终端运行 dlv debug 并得到上述输出。
当我尝试在 VSCode 中使用 Delve 进行调试时,我也得到了上述输出。
我已经在另一台 PC 上尝试过,它运行良好,因此很可能是环境问题,但我无法理解是什么原因造成的。
我尝试调试的项目都不在 git 或任何其他源代码控制中。
在我因缺少代码而投反对票之前,这是我的整个项目:
package main
import "fmt"
func main() {
fmt.Println("So we begin")
fmt.Println("Here we end")
}
【问题讨论】:
-
如果你运行
~/go/bin/dlv --help(或者windows中安装的任何delve路径),命令会运行吗? -
@Christian 是的,该命令运行并在终端中输出 dlv 帮助内容,因此看起来 dlv 已安装并从这方面工作。
-
现在更奇怪了——在同一个 Go 项目中,我可以使用 Delve 在 VSCode 中调试,但从终端运行
dlv debug会出现同样的错误。在另一个项目中,我可以在终端和 VSCode 中进行调试... -
在我可以在终端和 VSCode 中调试的项目中编辑并保存
main.go后,我都无法再进行调试了。 -
@MattHogan-Jones 你解决过这个问题吗?
标签: windows go debugging delve