【问题标题】:Mac OSX JetBrains Gogland: delve debugging meet "could not launch process: could not fork/exec"Mac OSX JetBrains Gogland:深入调试遇到“无法启动进程:无法分叉/执行”
【发布时间】:2017-03-25 09:46:20
【问题描述】:

我在 Mac OS 上使用 JetBrains Gogland 1.0 EAP,一切正常,但调试(基于 delve)会引发错误

could not launch process: could not fork/exec

我该如何解决?

【问题讨论】:

    标签: go intellij-idea jetbrains-ide goland


    【解决方案1】:

    根据@Alexander 的评论更新了答案

    事实上,Gogland 使用的是它自己的 dlv 二进制文件,而不是你安装的那个(手动或来自brew install),而且它自己的 dlv 二进制文件似乎没有经过认证或可能在 Mac 的钥匙串中已过时,那么它会导致错误以上每次我们运行它。

    修复它:

    安装你自己的 dlv

    手动安装或使用brew都可以[official doc],请确保您的证书设置正确

    设置 gogland,将 dlv 路径指向你自己的 dlv 二进制文件

    步骤 1

    调用Help | Edit Custom Properties… 并在此处添加新行:

    dlv.path=/path/to/custom/delve
    

    第二步

    重新启动并尝试再次调试,它应该可以解决问题。

    【讨论】:

    • 1. Gogland 的 dlv 肯定是一个签名的二进制文件。 2.Copy your dlv into gogland's bin dir.是有害的。它破坏了 Gogland 应用程序本身的标志,并破坏了补丁更新。不要这样做。 3. 要替换 dlv 可执行文件,您应该调用 Help |编辑自定义属性...并在此处添加新行:dlv.path=/path/to/custom/delve。 4. 使缓存失效不影响调试。请根据这些说明更新您的答案。
    • @AlexanderZolotov 但我确实遇到了这个问题,我到处搜索,所有解决方案都不适合我,最后上面的步骤解决了我的问题。我在 shell 中运行了 Gogland 的 dlv,它引发了同样的错误,这让我 guess gogland 的 dlv 二进制文件没有正确签名,我使用了 guess b>“似乎不是”在我的回答中。
    • 它可能已经过时并且在新的操作系统版本上运行不佳。它发生在以前。可以猜测未正确签名的二进制文件。我相信第三步值得投票,它破坏了用户的安装。
    • 另一个游泳池人可能会遇到“过时的”:P 我会根据您的 cmets 更新我的答案。谢谢
    • 对不起,我还是不能习惯 Enter 的行为。有这样的指令很酷,所以任何人都可以在 Gogland 更新 dlv。非常感谢。它只是不应该破坏任何东西;)
    猜你喜欢
    • 2012-12-07
    • 2019-10-24
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2021-05-25
    • 1970-01-01
    • 2013-07-16
    • 2011-04-05
    相关资源
    最近更新 更多