IntelliJ附加调试器到进程时出现访问被拒绝错误
解决IntelliJ调试Go Windows服务进程时的权限拒绝问题
我尝试将IntelliJ调试器附加到本地运行的Go语言编写的Windows服务进程,能在「运行->附加到进程」的可用进程列表中选中该进程,但返回权限拒绝错误,具体错误输出如下:
C:\Users\XPS\AppData\Roaming\JetBrains\IntelliJIdea2022.2\plugins\go\lib\dlv\windows\dlv.exe --listen=127.0.0.1:58872 --headless=true --api-version=2 --check-go-version=false --only-same-user=false attach 2336 -- API server listening at: 127.0.0.1:58872 could not attach to pid 2336: Access is denied. Debugger finished with the exit code 1
我已检查本地安全策略中管理员已被分配「调试程序」权限,除此之外不清楚问题所在,以下是解决思路:
- 以管理员身份启动IntelliJ:即使账号拥有调试权限,IntelliJ进程本身可能未获取足够权限访问系统服务进程。右键点击IntelliJ图标,选择「以管理员身份运行」后重新尝试附加操作。
- 确保调试权限生效:修改本地安全策略的「调试程序」权限后,需注销当前用户再重新登录,或直接重启系统,避免权限设置未即时生效。
- 核查服务进程的运行账户:Windows服务常以Local System、Network Service等系统账户运行,打开任务管理器查看该进程的「用户名」,确认调试账号是否有权限调试对应账户下的进程。
- 手动执行dlv命令调试:打开管理员权限的命令提示符,直接执行错误日志中显示的dlv命令,验证是否能成功附加。若命令行可成功,问题可能出在IntelliJ的权限传递;若仍失败,需进一步排查系统权限或进程本身的限制。
- 排查安全软件拦截:Windows Defender或第三方安全软件可能拦截调试器附加进程的操作,临时关闭相关防护后再尝试,确认是否为安全软件导致的权限拒绝。
内容的提问来源于stack exchange,提问作者JakubSliwinski
相关产品推荐
相关产品推荐

