🔍 错误信息解读

最近开发go项目,下载goland进行开发,但是却经常遇到goland会报这样的错:
在这里插入图片描述

CreateProcess error=4551, 应用程序控制策略已阻止此文件

生活化比喻

你的程序 = 快递员
Windows 安全策略 = 小区门卫
门卫:"没工牌、没登记,不准进!" 🚫

错误原因

  • GoLand 编译的 .exe 文件被标记为"来自互联网"
  • Windows SmartScreen/WDAC/AppLocker 等安全机制拦截
  • 文件缺少数字签名或可信来源证明

🛠️ 解决方案(按推荐顺序)

✅ 方案 1:解除文件锁定(最简单)

操作步骤

  1. 找到被阻止的文件目录:

    D:\atool\goexe\
    
  2. 右键 go_build_*.exe属性

  3. 在"常规"选项卡底部,勾选 ✅ 解除锁定

  4. 点击"应用" → “确定”

  5. 重新运行 GoLand 项目

💡 如果看不到"解除锁定"选项,继续方案 2。


实测第一种方案只是有时候有效果,后面仍然汇报一样的错误,因此为了不阻断开发调试,引入下面这个方法彻底解决。

✅ 方案 2:Goland 关联已启动的go程序

goland支持通过关联一个已经启动的go程序来进行启动和debug。
首先在终端执行如下命令

go install github.com/google/gops@latest

然后执行如下命令构建go项目

go build -gcflags="all=-N -l" -o myApp.exe

启动项目

.\myApp.exe

然后使用快捷键ctrl alt f5打开关联的界面
在这里插入图片描述

在这里插入图片描述
选择myApp就可以开始打断点调试你的程序了。
在这里插入图片描述

在这里插入图片描述


💡 额外小贴士

  • 🔁 修改策略后,重启 GoLand 或执行 File → Invalidate Caches
  • 📁 确保输出目录有写入和执行权限
  • 🧪 测试方法:手动双击 .exe,如果也打不开,就是系统策略问题

更多推荐