You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GoLand调试附加进程时dlv.exe提示Access is denied问题求助

问题描述

使用GoLand调试通过go build构建的进程,按下Ctrl + Alt + F5执行附加操作时,出现以下错误:

"C:\Program Files\JetBrains\GoLand 2022.1.4\plugins\go\lib\dlv\windows\dlv.exe" --listen=127.0.0.1:56356 --headless=true --api-version=2 --check-go-version=false --only-same-user=false attach 3064 --
API server listening at: 127.0.0.1:56356
could not attach to pid 3064: Access is denied.

已尝试的操作:

  • 以管理员模式运行GoLand
  • 为dlv.exe赋予管理员权限
  • 以提升权限模式启动GoLand

但问题仍未解决。而以管理员模式运行Visual Studio Code,通过以下launch.json配置可成功调试该进程:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to Process",
            "type": "go",
            "request": "attach",
            "mode": "local",
            "processId": 13932
        }
    ]
}

偏好使用GoLand调试器,寻求解决建议。

解决建议
  • 更新GoLand内置的dlv版本:
    1. 打开终端执行go install github.com/go-delve/delve/cmd/dlv@latest,安装最新稳定版dlv
    2. 进入GoLand的File > Settings > Build, Execution, Deployment > Debugger > Go,将Delve executable路径改为新安装的dlv路径(通常在GOPATH/bin/dlv.exe)
  • 手动启动dlv并通过Go Remote连接:
    1. 在GoLand中创建Go Remote调试配置,设置Host为127.0.0.1,自定义端口(如2345)
    2. 以管理员身份打开终端,执行dlv attach <目标进程PID> --listen=127.0.0.1:2345 --headless=true --api-version=2 --only-same-user=false
    3. 启动GoLand的Go Remote配置,尝试连接调试
  • 配置Windows调试权限:
    1. 打开secpol.msc(本地安全策略),进入本地策略 > 用户权限分配 > 调试程序
    2. 将当前用户添加到权限列表中,重启GoLand后重试
  • 排查安全软件拦截:
    临时关闭Windows Defender实时保护或第三方杀毒软件,若问题解决,将dlv.exe和GoLand主程序添加到信任列表
  • 确认进程未被其他调试器占用:
    关闭所有正在调试目标进程的工具(如VS Code、WinDbg),再尝试GoLand的附加操作

内容的提问来源于stack exchange,提问作者Akshayware

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 01:11:18