无法使用 Delve 调试 Go - 访问被拒绝

尝试使用 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项目上创建的,我编写了使用Vim,因此不涉及VSCode或其他任何内容。go mod initmain.go


我试图从终端运行,我得到了上面的输出。当我尝试在VSCode中使用Delve进行调试时,我也会得到上面的输出。dlv debug


我已经在另一台PC上尝试过,它工作得很好,所以它很可能是环境问题,但我无法理解导致这种情况的原因。


我试图调试的项目都没有在git或任何其他源代码管理中。


在我因缺少代码而产生任何反对票之前,这是我的整个项目:


package main


import "fmt"


func main() {

    fmt.Println("So we begin")

    fmt.Println("Here we end")

}


大话西游666
浏览 218回答 2
2回答

慕工程0101907

这似乎是由于防病毒软件在我尝试运行它甚至调试它时删除可执行文件引起的问题。我转而使用 VSCode 在 WSL2 中开发 Go,我可以毫无问题地调试代码,因此这似乎是环境问题,而不是 Delve 或 Go 的问题。

眼眸繁星

实际上我遇到了类似的问题。我修改了VScode的“settings.json”文件,如下所示:{        "workbench.colorTheme": "Default Dark+",        "workbench.editorAssociations": {            "*.ipynb": "jupyter.notebook.ipynb"        },        "gopls": {            "experimentalWorkspaceModule": true        },        "go.alternateTools": {                },        "go.delveConfig": {                  "dlvLoadConfig": {                "followPointers": true,                "maxVariableRecurse": 1,                "maxStringLen": 64,                "maxArrayValues": 64,                "maxStructFields": -1            },            "apiVersion": 2,            "showGlobalVariables": false,            "debugAdapter": "legacy",            "substitutePath": []        }}然后尝试调试或在没有调试的情况下运行。它有效,“__debug_bin.exe”将不再生成。但是我不知道原因,似乎dlv配置存在一些问题。有谁知道根本原因吗?希望这对您有所帮助!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go